Android開發書籍推薦

Android開發書籍推薦:從入門到精通系列學習路線書籍介紹html

Android問世距今已經近十年,全球已有數以百萬計的Android開發工程師,並且還不斷有更多的人加入Android的學習和開發的大軍。不少時候咱們都會不斷收到新手的提問「Android開發的經典入門教材和學習路線?」「Android 開發入門教程有哪些推薦?」等相似的問題,咱們不斷重複回答這些問題,這讓咱們萌生了作《 Android開發書籍推薦:從入門到精通系列學習路線書籍介紹》的想法,整理收集開發大牛的學習經驗,以便讓咱們少走彎路,更快速成長。java

本系列由@jixiaohua 發起,@d_clock同窗負責。android

推薦方法:
一、按照自身的學習路程,親自看過的書籍;
二、寫一個小小邀請,邀請一些開發牛人給列一個書單,而後綜合篩選;
三、整理完畢了,網絡上讓你們繼續推薦,隨時更新;
四、你的一些整理方法,總之作出一份優質的推薦書籍就好哈;git

注意:
一、由於Android發展太快了,因此一些時間特別久遠的書籍可能不合適了,好比2012年前出版的一些Android開發書籍已經不適用了;
二、須要有一些適當的JAVA基礎書籍推薦。程序員

Diycode整理推薦


coming soon ......github

咱們邀請了如下的社區牛人蔘與編寫(或者提意見)此係列書籍推薦(排名不分前後):編程

胡凱
daimajia
袁輝輝
脈脈不得語
廖祜秋
湯濤
stormzhang
任玉剛
Stay
郭霖
張濤
馮建
CJJ
高爺
MrSimple
hi大頭鬼hi
羅昇陽:
鄧凡平:

等Android中文開源社區熱心牛人。(Trinea、drakeet好像都和對象玩兒去了,暫時木有邀請,稍後必定讓他們給意見)。

胡凱:騰訊公司每天P圖資深Android開發工程師,Android官方培訓課程中文版發起人。

一、入門:設計模式

Android API Guides
Android Training
推薦緣由:入門使用官方的這兩份文檔是最好不過的了,沒有比這個更權威,更準確的Android學習資料了。中文書能夠隨便買兩本入門,配合一塊兒看看就行了。在實踐的過程當中多參考官方的Sample Code,多按照官方的推薦進行代碼實踐!瀏覽器

二、進階:微信

《重構:改善既有代碼的設計》
《HeadFirst設計模式》

推薦緣由:在大量實踐Android程序以後,咱們須要會分辨哪一種寫法是更優秀的,經過重構來改善既有的代碼,經過設計模式的不斷理解實踐對既有的框架進行優化,追求更加設計良好的程序。

三、JAVA基礎的書籍:

《Thinking in java》
《Effective Java》
推薦緣由:不解釋

寫在最後:請作一個對代碼美感有追求的程序員。

湯濤:海豚瀏覽器資深Android工程師,「Android程序員」微信號博主;

一、入門:

Android Training
推薦緣由:官方文檔,權威專業,入門不二之選,正確的入門姿式,對後續的成長幫助很是之大。

二、進階:

《Clean Code》
《Clean Coder》

推薦緣由:進階是個大話題,只看一兩本是不夠的,甚至只看書也是不夠的,能進階到什麼程度只能靠本身積極主動的積累。 硬要推薦的話,就不說 Android 的書了,市面上幾本熱門書均可以看看。這裏推薦的兩本,同一人所寫,都有中文譯本。教你代碼怎麼寫得更好,以及怎麼作一個更職業的程序員。

三、Java

《Thinking in java》
《Effective Java》
推薦緣由:不解釋。尤爲第二本要反覆多看幾遍,另外Java學習還有個技巧,把各類代碼檢查工具報告的警告都正確處理掉,一個不漏,保證你成長飛快。

最後:入門有方法,進階靠本身。

stormzhang:薄荷網Android技術負責人,AndroidDeveloper公衆號博主。

書不在多,每一個階段一本書就夠了,因此我只推薦一本:《Java初級:Java語言程序設計》
理由:很基礎,適合初學者,建議看到前十四章就能夠了,第十二章也能夠略過。

Java中級:

《Thinking in java》
Java經典書籍,不少人說他是初級書籍,可是個人見解是他很是不適合初學者,若是沒有任何經驗的初學者直接看這本書會一頭霧水,可是有了必定Java基礎那麼這本書必看。

Java進階:

《Effective Java》
公認的Java進階必備,這是一本實用至上的書,78條建議,滿滿的乾貨。

Android初級 :

《第一行代碼》
郭神的書,全書由淺入深,很系統全面,講解的也很詳細,很是適合Android入門。

Android進階:

《Android開發藝術探索》
這是一本Android進階類書籍,採用理論、源碼和實踐相結合的方式來闡述高水準的Android應用開發要點,Android開發進階值得擁有!

袁輝輝:小米系統攻城獅,Gityuan博主。

1、Android入門:對於入門書,最重要的是可以讓初學者快速上手,而不在於能將全部知識點講述深刻透徹。

《瘋狂Android講義》正是這樣一本書,也是我看過的第一本Android書籍,書中並無深奧的理論,有大量的實例,邊看的過程當中,邊在電腦面前跟着敲了一遍實例代碼,最好能作到理解性地敲,而非看一個單詞再電腦面前敲一個。我大概花了一週時間把這本書看完並把大部分的實例代碼都親手敲了一遍。

《第一行代碼》:做者郭霖,網上有很多人都推薦這本書做爲Android入門書,我大概掃了一遍,知識點較基礎,做者文筆不錯,書中還穿插了很多打怪漲經驗升級的片斷,比較風趣。

對於入門書最多看一到兩本,當看到第三本能吸收的養分已經不多,這樣應該進入下一個進階階段。

2、Android進階:進階書籍適合反覆閱讀,深刻理解。

《深刻理解Android》:鄧凡平,做者功力深厚,以情景爲分支,從framework源代碼層面來,深刻分析Android系統,很是適合高級應用開發工程師和系統工程師閱讀。

《Android系統源代碼情景分析 》:羅昇陽,對Android系統的理解很是深,老羅知識體系很全,文章從app/framework/native/kernel等全方面剖析,這是Android界的盡人皆知的大牛,「老羅栽樹,你們乘涼」,很是值得一看,前提要是有紮實基礎。

《深刻解析Android 5.0系統》:鄧超,前兩本都是基於Android 4.x系統,而這是基於Android 5.0系統講述得比較不錯的書籍。

Android底層是基於Linux Kernel,因此想成爲Android全棧工程師,瞭解Linux Kernel是很是有必要的。這方面書籍較多,我就列舉兩本《Linux內核設計與實現》《深刻理解Linux內核》。第一階段只需加深對Android系統總體性的理解,沒必要拘泥於每一個細節都理解,看完能大抵理解kernel進程的管理和調度機制,內存管理和內存尋址,I/O驅動設備(字符設備、塊設備、網絡設備)和調度機制等有所瞭解就夠了;若是都理解了也就夠了,若是想再深刻,能夠結合Kernel代碼多看兩遍。

3、Java基礎:學習Android必需要有必定的Java基礎

《Java編程思想》:很是經典的Java書籍,有些人以爲這個書不適合初學者,可就是我看的第一個本Java書,或許是當初自學Java沒有高人指點,便挑選了經典書來入手。看一本經典書,第一遍能理解個大概,能對總體有一個概念,這就能夠了,反覆多讀幾遍,細細咀嚼,每一遍都會有不一樣的領悟。

任玉剛:百度Android高級工程師,《Android開發藝術探索》做者,CSDN博客專家

Android入門書 :

《第一行代碼》:做者郭霖。手把手教你入門,清晰易懂。

Android進階書 :

《Android開發藝術探索》,做者任玉剛。分析android核心知識點,直指高級工程師進階要點!(做爲藝術探索一書的讀者,我也是激勵推薦的!!很是讚的一本書!)

CJJ:寫小說的Android工程師,Android自定義控件達人,活躍在Github上,AndroidSDK源碼解析發起者!他的Github

Android入門書 :

《第一行代碼》:做者郭霖。推薦理由:看了郭霖不少博客文章,每一篇都寫的很詳細,也很用心。這本書大概瀏覽了一遍,內容淺顯易懂,很是適合初學者!

Android進階書 :

《Android開發藝術探索》,做者任玉剛。我最近也在看這本書,收穫很大,鞏固了之前比較薄弱的地方,也知道還有那些知識須要學好,是進階的好書!
《Android系統源代碼情景分析》,做者羅昇陽。推薦理由:國內學安卓的第一批先驅者,至今他的不少文章都看不懂,慚愧啊,這本書是他的心血,只是,讀懂這本書須要很好的基礎,大概吧!

徐宜生:上海滬江英語高級Android工程師,《Android羣英傳》做者。

Android入門書 :

《Android4高級編程》
《第一行代碼》
《Android編程權威指南》

推薦理由:全面、基礎,內容豐富!基礎類型的書只要看一本就夠了,用來全面瞭解知識體系和結構,不用所有精讀,只須要有概念便可

Android進階書 :

《Android羣英傳》,總結從入門到提升的學習方法
《Android開發藝術探索》,進階必備知識點的深刻講解
《App研發錄》,研發體系的深刻研究與總結

推薦理由:進階類書籍須要好好精讀,針對本身薄弱的知識點不斷進行總結

Android底層書 :

《深刻理解Android ***》系列書籍,鄧凡平老師寫的系列。
《Android源碼設計模式》,結合設計模式分析源碼
《Android框架揭祕》,底層架構的一本好書

推薦理由:底層書籍對於應用開發者來講,不用過於深刻,主要用於學習設計思路和了解底層設計機制

Stay:有心課堂(stay4it.com)前臺

選擇當下最適合本身的最重要。

初學Android
對於一個初學者,最大的障礙在於如何用好ide以及項目結構。每一本入門書都繞不開這一個環節。這樣的書須要越新越好。由於ide版本也在不斷升級,一些changelog會讓初學者卡住。這裏不作推薦,只要找最新出版的書就能夠了。

有了Android工做的1年裏
一個良好的積累來源於平日的知識吸取。量變會引發質變。這個時間段,多吸取點知識是必要的。從量上首當其衝的就是API文檔了,其次就是《第一行代碼》 了。再來就是郭霖和鴻洋的博客了。能把一個知識點從淺入深的講解成API文檔,也只有他們倆了。

將來的1到2年
積累到必定程度,就須要不斷的經過實戰來補充經驗。Android以坑多,黑科技著稱。沒在坑裏滾過的都不叫真的android程序員。若是有本書能幫你快速理出這些坑。那就是《App研發錄》了。雖然裏面也有些寫的不那麼準確的問題,但這不礙事。

2-3年
坑也淌的很多了。也許你曾爲了解決某個bug,花了好幾天google遍了,源碼翻爛了都沒能解決。這時候就得考慮考慮,是否應該從原理入手去分析問題。一個component或者一個API是經過怎樣的需求來定製實現的。若是你能從原理上去理解意圖,那在解決問題時會更有方向,而不會想無頭蒼蠅。《Android開發藝術探索》應該就是你須要的書。它雖然沒有幫你具體的解決某個bug,可是它給了你一個宏觀的構圖。之後你會事半功倍。

3年之後
你已是個合格的開發者了。一些問題都不會再難倒你。可是你在一個team裏與你們協做。如何編寫高質量,可複用的代碼是一輩子的追求。這類書籍有不少,從具體的《Effective Java》到抽象的《HeadFirst設計模式》再到心中無碼的《敏捷軟件開發:原則、模式與實踐》《重構》再回歸到本質《編程珠璣》。這都是不錯的選擇。

並行
1. 多嘗試其餘語言,瞭解其餘語言的優勢與特性,與android相互印證。是很是有必要的。
2. 能夠嘗試從非技術角度來看技術。《暗時間》 《精進,如何成爲一個厲害的人》 都推薦你們看看。高效來自於自我認知

看書的目的,是系統的理解某一相對獨立的點與面。儘可能抽整塊的時間來消化,別像看博客,公衆號那樣,手指一劃一頁就翻沒了。沒有真正的思考與實踐,就不叫真的理解。平時那些碎片知識若是能經過系統的書籍來整理,是對咱們的知識體系的梳理與鞏固。

至於那些還不能消化高階體系的朋友也不用強求,這是一個過程。先知其然,再去知其因此然。選當下最適合本身的,一步步進階,不是更好嗎:)

李偵躍:花名大頭鬼,阿里巴巴高級Android工程師,擅長Android,ReactNative,RxJava, RxAndroid, Vue.js wechat:hibrucehi, 他的Github

相關文章
相關標籤/搜索