Android學習路線

tags: Android學習路線,Android學習資料,怎么學習android

一、前言

不知不覺自己已經做了幾年開發了,由記得剛出來工作的時候感覺自己能牛逼,現在回想起來感覺好無知。懂的越多的時候你才會發現懂的越少。

如果你的知識是一個圓,當你的圓越大時,圓外面的世界也就越大。

最近看到很多Android新手問Android學習路線,學習方法啊,如何入門啊,所以我從網上找了一些資料,然后以我的工作經驗給大家總結一下,讓你們少走彎路,提取一些工作中經常用到的技術。

二、學習知識匯總

1、Java se基礎

1).Java基本數據類型與表達式,分支循環。

2).String和StringBuffer的使用、正則表達式。

3).面向對象的抽象,封裝,繼承,多態,類與對象,對象初始化和回收;構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、內部類。

4).對象實例化過程、方法的覆蓋、final關鍵字、抽象類、接口、繼承的優點和缺點剖析;對象的多態性:子類和父類之間的轉換、抽象類和接口在多態中的應用、多態帶來的好處。

5).Java異常處理,異常的機制原理。

6).常用的設計模式:Singleton、Template、Strategy模式。

7).JavaAPI介紹:種基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。

8).Java集合介紹:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合類API。

9).JavaI/O輸入輸出流:File和FileRandomAccess類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應實現類,IO性能分析,字節和字符的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。

10).Java高級特性:反射和泛型。

11).多線程原理:如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。

2、android UI編程

1)、Android開發環境搭建:Android介紹,Android開發環境搭建,第一個Android應用程序,Android應用程序目錄結構。

2)、Android初級控件的使用:

TextView控件的使用

Button控件的使用方法

EditText控件的使用方法

ImageView的使用方法

RadioButton的使用方法

Checkbox的使用方法

Menu的使用方法

3)、Android高級控件的使用:

ListView的使用方法

GridView的使用方法

Adapter的使用方法

Spinner的使用方法

Gallary的使用方法

ScrollView的使用方法

RecyclerView

4、對話框與菜單的使用:

Dialog的基本概念

BlockquoteAlertDialog的使用方法

DatePickerDialog的使用方法

Menu的使用方法

自定義Menu的實現方法

5.控件的布局方法:

線性布局的使用方法

相對布局的使用方法

6.多Acitivity管理:

AndroidManifest.xml文件的作用

Intent的使用方法

使用Intent傳遞數據的方法

啟動Activity的方法

IntentFilter的使用方法

Activity Group的使用方法

7、自定義控件實現方法:

自定義ListView的實現方法

可折疊ListView的使用方法

自定義Adapter的實現方法

自定義View的實現方法

動態控件布局的上實現方法

上拉刷新下拉加載更多

3、android網絡編程與數據存儲

1).基于Android平臺的HTTP通訊:

Http協議回顧

使用Get方法向服務器提交數據的方法

使用POST方法向服務器提交數據的實現方法

使用Http協議實現多線程下載

使用Http協議實現斷點續傳

2).Android數據存儲技術:

SQLite3數據庫簡介

SQL語句回顧

SQLite3編程接口介紹

SQLite3事務管理

SQLite3游標使用方法

SQLite3性能分析

訪問SDCard的方法

訪問SharedPreferences的方法

參考自:http://www.cnblogs.com/zhuawang/p/3672228.html

三、進階之路(初級->中級->高級)

1、初級工程師

小明之前完全沒接觸過Android開發,是個應屆生,他的待遇是13k,然后小明以校招的身份進入了百度,然后小明需要怎么學習才能成為初級工程師呢?這個時候,小明對編程基礎、數據結構、C語言都有一定基礎,Java語法什么的也都掌握的比較好,Android才有java語言,無奈的是小明并不會搞Android。

小明首先需要購買一本Android入門的書籍,為了更快地學習Android,小明業余時間也都用來一邊看書一邊照著書中的例子敲代碼,結果2周時間小明就把這本書學了一遍。看完這本書后,小明對Android的歷史、結構、代碼規范等都有了一個大概的了解,并且,小明已經可以寫出一些簡單的Activity了。這個時候在小明眼里,Android開發很簡單很好玩,通過在xml中擺放一些按鈕文本框什么的就可以做一些界面了。

小明開始跟著他的技術導師做需求,一些簡單的小需求小明自然是不在話下了。突然有一天來了一個需求,該需求要求小明在Activity中為一個button加一個動畫效果,小明慌了:“完全沒接觸過,書上也沒有講,怎么辦呢?”小明冷靜了下,打開了百度搜索,輸入“Android 動畫”,打開前幾個鏈接,小明恍然大悟,照著網上的例子把需求給實現了。后來導師告訴他:“學好Android,官方文檔是必須看的,既全面又權威”。然后小明如獲至寶,花了一年時間把上面的guide和training都看了一遍,并且他還動手抄了幾個小例子。

有一天,小明又需要做一個動畫相關的需求,這可難不倒小明,它熟練地打開了www.baidu.com,輸入“Android 動畫”,突然他楞了一下:”總不能每次寫動畫都要百度一下吧!“,于是他在CSDN開了一個博客,把動畫相關的知識點都寫上去,為的是后面再寫動畫相關的代碼就不用百度去搜了,事實如何呢?后面再寫動畫相關的代碼,小明的確不用再去百度搜了,因為通過寫一篇動畫博客,他把動畫相關的細節都已經記住了,這樣他就可以不用再去參考任何文檔了,后來小明還學會了把一些瑣碎的不方便放在博客上的東西寫到了印象筆記上面,什么時候忘了10秒鐘以內都可以快速找回來,而不是花10分鐘去再次搜索一遍。

這里總結一下,Android入門的時候,需要有一本入門書,好好學習書中的內容,同時花一年時間把Android官方文檔中的training和guide看一遍,同時通過寫博客和記筆記的方式來做總結,建議讓自己的每篇博客都有價值些。通過一年時間的學習,相信每個人都可以達到中級工程師的水平。

技術要求:

基本知識點

比如四大組件如何使用、如何創建Service、如何進行布局、簡單的自定義View、動畫等常見技術

書籍推薦

《第一行代碼 Android》、《瘋狂Android》

2、中級工程師

小明經過一年的努力學習終于成為Android中級工程師了,月薪變成了17k。到了中級工程師,已經可以在公司里干很多體力活了,但是一些很重要的任務小明還不能一個人承擔起來,這個時候小明需要學習的內容就很多了,如下所示:

AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的區別;

Binder:從Java層大概理解Binder的工作原理,懂Parcel對象的使用;

多進程:熟練掌握多進程的運行機制,懂Messenger、Socket等;

事件分發:彈性滑動、滑動沖突等;

玩轉View:View的繪制原理、各種自定義View;

動畫系列:熟悉View動畫和屬性動畫的不同點,懂屬性動畫的工作原理;

懂性能優化、熟悉mat等工具

懂點常見的設計模式

學習方法

閱讀進階書籍,閱讀Android源碼,閱讀官方文檔并嘗試自己寫相關的技術文章,需要有一定技術深度和自我思考。在這個階段的學習過程中,有2個點是比較困擾大家的,一個是閱讀源碼,另一個是自定義View以及滑動沖突。

如何閱讀源碼呢?這是個頭疼的問題,但是源碼必須要讀。閱讀源碼的時候不要深入代碼細節不可自拔,要關注代碼的流程并盡量挖掘出對應用層開發有用的結論。另外仔細閱讀源碼中對一個類或者方法的注釋,在看不懂源碼時,源碼中的注釋可以幫你更好地了解源碼中的工作原理,這個過程雖然艱苦,但是別無他法。

如何玩轉自定義View呢?我的建議是不要通過學習自定義view而學習自定義view。為什么這么說呢?因為自定義view的種類太多了,各式各樣的絢麗的自定義效果,如何學的玩呢!我們要透過現象看本質,更多地去關注自定義view所需的知識點,這里做如下總結:

搞懂view的滑動原理

搞懂如何實現彈性滑動

搞懂view的滑動沖突

搞懂view的measure、layout和draw

然后再學習幾個已有的自定義view的例子

最后就可以搞定自定義view了,所謂萬變不離其宗

大概再需要1-2年時間,即可達到高級工程師的技術水平。我個人認為通過《Android開發藝術探索》和《Android群英傳》可以縮短這個過程為0.5-1年。注意,達到高級工程師的技術水平不代表就可以立刻成為高級工程師(受機遇、是否跳槽的影響),但是技術達到了,成為高級工程師只是很簡單的事。

技術要求:

稍微深入的知識點

AIDL、Messenger、Binder、多進程、動畫、滑動沖突、自定義View、消息隊列等

書籍推薦

《Android開發藝術探索》、《Android群英傳》

3、高級工程師

小明成為了夢寐以求的高級工程師,月薪達到了20k,還拿到了一丟丟股票。這個時候小明的Android水平已經不錯了,但是小明的目標是資深工程師,小明聽說資深工程師月薪可以達到30k+。

為了成為Android資深工程師,需要學習的東西就更多了,并且有些并不是那么具體了,如下所示:

繼續加深理解”稍微深入的知識點“中所定義的內容

了解系統核心機制:

了解SystemServer的啟動過程

了解主線程的消息循環模型

了解AMS和PMS的工作原理

能夠回答問題”一個應用存在多少個Window?“

了解四大組件的大概工作流程

基本知識點的細節

Activity的啟動模式以及異常情況下不同Activity的表現

Service的onBind和onReBind的關聯

onServiceDisconnected(ComponentName className)和binderDied()的區別

AsyncTask在不同版本上的表現細節

線程池的細節和參數配置

熟悉設計模式,有架構意識學習方法

這個時候已經沒有太具體的學習方法了,無非就是看書、看源碼和做項目,平時多種總結,盡量將知識融會貫通從而形成一種體系化的感覺。同時這個階段對架構是有一定要求的,架構是抽象的,但是設計模式是具體的,所以一定要加強下設計模式的學習。關于設計模式的學習,最近一本新書推薦給大家《Android 源碼設計模式解析與實戰》,既可以學習設計模式,又可能體會到Android源碼中的設計思想,我最近也在閱讀此書。

技術要求:

稍微深入的知識點

系統核心機制

基本知識點的細節

設計模式和架構

書籍推薦

《Android開發藝術探索》、《Android 源碼設計模式解析與實戰》、《Android內核剖析》

參考自:http://blog.csdn.net/singwhatiwanna/article/details/49560409

四、學習視頻跟書籍

當你有了學習線路,學習哪些內容,也知道以后的路怎么走了,理論看多了總要實踐的,我這里給你們整理了大概80G的學習視頻跟書籍,趕快點我點我點我。。。下載。。

如果你想第一時間看我們的后期文章,掃碼關注公眾號,每周不定期推送Android開發實戰教程文章,你還等什么,趕快關注吧,學好技術,出任ceo,贏取白富美。。。。

文/Android開發666(簡書作者)

原文鏈接:http://www.lxweimin.com/p/e19945c38586

著作權歸作者所有,轉載請聯系作者獲得授權,并標注“簡書作者”。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,517評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,087評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,521評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,493評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,207評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,603評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,624評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,813評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,364評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,110評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,305評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,874評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,532評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,953評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,209評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,033評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,268評論 2 375

推薦閱讀更多精彩內容