10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結

發布時間:2019-12-17    瀏覽數:

10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結(1)


前言

不知不覺,2019年已經進入了尾聲,作為10年的最後一個冬天,21世紀快過了十年,感慨良多。

這一年也不算太好,還好找到個愛好寫文章,也有些人看,其中就有Android新手問Android學習路線,學習方法啊,如何入門啊

之前比較忙沒來得及回複,今天有點冷,蠻適合動動腦子

所以,就從網上查閱了許多,整理了一些內容,希望可以對你們有用,可以少走點彎路。

10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結(2)


一.學習知識彙總

1、Java se基礎

2、android UI編程

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

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

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

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

5.控件的布局方法:

6.多Acitivity管理:

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

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

1).基於Android平台的HTTP通訊:

2).Android數據存儲技術:


10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結(3)


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

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內核剖析》


10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結(4)


入門到進階的書籍可以看私信我【書籍】

三、學習視頻跟書籍

當你有了學習線路,學習哪些內容,也知道以後的路怎麼走了,理論看多了總要實踐的,我這裏給你們整理了從入門到進階的學習視頻跟書籍, 還有最新的flutter和kotlin可以私信我【安卓】

10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結(5)


10年代的最後一個冬天,我希望你能來,認真看下我這篇安卓總結(6)


上一篇:今年是OPPO夯實基礎的一年,明年OPPO又將帶來哪些驚喜? 下一篇:OPPO5G時代全新產品形態曝光,體積雖小,但性能一點也不弱

相關資訊

最新熱門應用