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

《Android开发艺术探索》,开发艺术,写的深入浅出,把ANDROID底层的一些机制,讲的通俗易懂。同时又避免了过多的设计到cpp代码,尺度把握的非常好。对于不熟悉rom和native开发,只是熟悉应用层开发的同学来说,这本书绝对是深入了解系统机制的一本好书。

《Android源码设计模式》,设计模式那本书,从设计模式的角度去分析android源码,角度很独特,同时授人以渔,让大家知道为什么源码里要这样写。设计模式也是程序员进阶必备的技能。结合设计模式,大家对源码的理解也会更加深入。

《Android群英传》,群英传更多的偏重于app层面的开发,作者介绍了大量自己一线实战出来的技巧。如果没有作者无私的总结,初中学者很难免会走很多弯路,可以说这本书是这个灯塔,非常适合初中级的同学参考

coming soon

小结

不管看多少书,更重要的是自己思考,动手重复的实践!也许这个过程很耗时间,但是,这个不断以代码去验证自己的某些猜想的过程,便是技术成长的历程!

本系列书籍推荐方法:

1、按照自身的学习路程,亲自看过的书籍;
2、写一个小小邀请,邀请一些开发牛人给列一个书单,然后综合筛选;
3、整理完毕了,网络上让大家继续推荐,随时更新;
4、你的一些整理方法,总之做出一份优质的推荐书籍就好哈;
5、因为Android发展太快了,所以一些时间特别久远的书籍可能不合适了,比如2012年前出版的一些Android开发书籍已经不适用了;

6、需要有一些适当的JAVA基础书籍推荐。


点击打开链接

  • 3
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值