Android書籍推薦

Android書籍推薦:總結9位開源社區專家推薦

來源:極客頭條

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

很多時候我們都會不斷收到新手的提問“Android開發的經典入門教材和學習路線?”、“Android 開發入門教程有哪些推薦?”等類似的問題,我們不斷重複回答這些問題,這讓我們萌生了做《 Android開發書籍推薦:從入門到精通系列學習路線書籍介紹》的想法,整理收集開發大牛的學習經驗,以便讓我們少走彎路,更快速成長。希望這個系列可以成爲大家手頭應對新手的好答案。

Diycode整理推薦:本系列由@jixiaohua 發起,@d_clock同學負責。

JAVA基礎的書籍:

《Thinking in java》
《Effective Java》

湯濤推薦理由:第二本要反覆多看幾遍,另外Java學習還有個技巧,把各種代碼檢查工具報告的警告都正確處理掉,一個不漏,保證你成長飛快。

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

袁輝輝推薦理由:《Thinking in java》:非常經典的Java書籍,有些人覺得這個書不適合初學者,可就是我看的第一個本Java書,或許是當初自學Java沒有高人指點,便挑選了經典書來入手。看一本經典書,第一遍能理解個大概,能對整體有一個概念,這就可以了,反覆多讀幾遍,細細咀嚼,每一遍都會有不同的領悟。

1、Android入門:

Android Training
Android API Guides

胡凱推薦理由:入門使用官方的這兩份文檔是最好不過的了,沒有比這個更權威,更準確的Android學習資料了。中文書可以隨便買兩本入門,配合一起看看就好了。在實踐的過程中多參考官方的Sample Code,多按照官方的推薦進行代碼實踐!

湯濤推薦理由:官方文檔,權威專業,入門不二之選,正確的入門姿勢,對後續的成長幫助非常之大。

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

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

CJJ推薦理由:《第一行代碼》作者郭霖,看了郭霖很多博客文章,每一篇都寫的很詳細,也很用心。這本書大概瀏覽了一遍,內容淺顯易懂,非常適合初學者!
任玉剛推薦理由:《第一行代碼》作者郭霖,手把手教你入門,清晰易懂。

袁輝輝推薦理由:《瘋狂Android講義》正是這樣一本書,也是我看過的第一本Android書籍,書中並沒有深奧的理論,有大量的實例,邊看的過程中,邊在電腦面前跟着敲了一遍實例代碼,最好能做到理解性地敲,而非看一個單詞再電腦面前敲一個。我大概花了一週時間把這本書看完並把大部分的實例代碼都親手敲了一遍。《第一行代碼》作者郭霖,網上有不少人都推薦這本書作爲Android入門書,我大概掃了一遍,知識點較基礎,作者文筆不錯,書中還穿插了不少打怪漲經驗升級的片段,比較風趣。

二、Android進階

《App研發錄》
《Android羣英傳》
《深入理解Android》
《Android開發藝術探索》
《Android系統源代碼情景分析》

袁輝輝推薦理由:《深入理解Android》鄧凡平,作者功力深厚,以情景爲分支,從framework源代碼層面來,深入分析Android系統,非常適合高級應用開發工程師和系統工程師閱讀。《Android系統源代碼情景分析 》羅昇陽,對Android系統的理解非常深,老羅知識體系很全,文章從app/framework/native/kernel等全方面剖析,這是Android界的盡人皆知的大牛,“老羅栽樹,大家乘涼”,非常值得一看,前提要是有紮實基礎。

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

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

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

《HeadFirst設計模式》
《重構:改善既有代碼的設計》
胡凱推薦理由:在大量實踐Android程序之後,我們需要會分辨哪種寫法是更優秀的,通過重構來改善既有的代碼,通過設計模式的不斷理解實踐對既有的框架進行優化,追求更加設計良好的程序。

三、Android底層

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

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

《Linux內核設計與實現》
《深入理解Linux內核》

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

END

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

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

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

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

1、入門:

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

2、進階:

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

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

3、JAVA基礎的書籍:

《Thinking in java》
《Effective Java》
推薦原因:不解釋

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

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

1、入門:

Android Training
推薦原因:官方文檔,權威專業,入門不二之選,正確的入門姿勢,對後續的成長幫助非常之大。

2、進階:

《Clean Code》
《Clean Coder》

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

3、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博主。

一、Android入門:對於入門書,最重要的是能夠讓初學者快速上手,而不在於能將所有知識點講述深入透徹。

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

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

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

二、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代碼多看兩遍。

三、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

大頭鬼出差在灰機上,他推薦的書單稍後補上!!!

coming soon

本系列書籍推薦方法:

1、按照自身的學習路程,親自看過的書籍;
2、寫一個小小邀請,邀請一些開發牛人給列一個書單,然後綜合篩選;
3、整理完畢了,網絡上讓大家繼續推薦,隨時更新;
4、你的一些整理方法,總之做出一份優質的推薦書籍就好哈;
5、因爲Android發展太快了,所以一些時間特別久遠的書籍可能不合適了,比如2012年前出版的一些Android開發書籍已經不適用了;
6、需要有一些適當的JAVA基礎書籍推薦。

最後如果還有任何建議歡迎大家留言以及通過以下社交工具聯繫我們。

郵箱訂閱:
移動開發者週刊:每日分享一次Android、iOS、Swfit技術乾貨,目前訂閱人數 12800 +;

Github :
code_news:目前Star 68,Fork 16;

官方微博:
優雅的程序員D :關注人數 460 人;

管理員微博:
安卓大王子 :關注人數 32100 人;
D_clock愛吃蔥花 :關注人數 816 ;

微信公衆號:
“優雅的程序員”微信號:diycodes,目前關注人數 550 人;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章