Android开发书籍推荐:从入门到精通系列学习路线书籍介绍html
Android问世距今已经近十年,全球已有数以百万计的Android开发工程师,并且还不断有更多的人加入Android的学习和开发的大军。不少时候咱们都会不断收到新手的提问“Android开发的经典入门教材和学习路线?”、“Android 开发入门教程有哪些推荐?”等相似的问题,咱们不断重复回答这些问题,这让咱们萌生了作《 Android开发书籍推荐:从入门到精通系列学习路线书籍介绍》的想法,整理收集开发大牛的学习经验,以便让咱们少走弯路,更快速成长。java
本系列由@jixiaohua 发起,@d_clock同窗负责。android
推荐方法:
一、按照自身的学习路程,亲自看过的书籍;
二、写一个小小邀请,邀请一些开发牛人给列一个书单,而后综合筛选;
三、整理完毕了,网络上让你们继续推荐,随时更新;
四、你的一些整理方法,总之作出一份优质的推荐书籍就好哈;git
注意:
一、由于Android发展太快了,因此一些时间特别久远的书籍可能不合适了,好比2012年前出版的一些Android开发书籍已经不适用了;
二、须要有一些适当的JAVA基础书籍推荐。程序员
coming soon ......github
咱们邀请了如下的社区牛人参与编写(或者提意见)此系列书籍推荐(排名不分前后):编程
胡凯 daimajia 袁辉辉 脉脉不得语 廖祜秋 汤涛 stormzhang 任玉刚 Stay 郭霖 张涛 冯建 CJJ 高爷 MrSimple hi大头鬼hi 罗升阳: 邓凡平: 等Android中文开源社区热心牛人。(Trinea、drakeet好像都和对象玩儿去了,暂时木有邀请,稍后必定让他们给意见)。
一、入门:设计模式
Android API Guides
Android Training
推荐缘由:入门使用官方的这两份文档是最好不过的了,没有比这个更权威,更准确的Android学习资料了。中文书能够随便买两本入门,配合一块儿看看就行了。在实践的过程当中多参考官方的Sample Code,多按照官方的推荐进行代码实践!浏览器
二、进阶:微信
《重构:改善既有代码的设计》
《HeadFirst设计模式》
推荐缘由:在大量实践Android程序以后,咱们须要会分辨哪一种写法是更优秀的,经过重构来改善既有的代码,经过设计模式的不断理解实践对既有的框架进行优化,追求更加设计良好的程序。
三、JAVA基础的书籍:
《Thinking in java》
《Effective Java》
推荐缘由:不解释
写在最后:请作一个对代码美感有追求的程序员。
一、入门:
Android Training
推荐缘由:官方文档,权威专业,入门不二之选,正确的入门姿式,对后续的成长帮助很是之大。
二、进阶:
推荐缘由:进阶是个大话题,只看一两本是不够的,甚至只看书也是不够的,能进阶到什么程度只能靠本身积极主动的积累。 硬要推荐的话,就不说 Android 的书了,市面上几本热门书均可以看看。这里推荐的两本,同一人所写,都有中文译本。教你代码怎么写得更好,以及怎么作一个更职业的程序员。
三、Java
《Thinking in java》
《Effective Java》
推荐缘由:不解释。尤为第二本要反复多看几遍,另外Java学习还有个技巧,把各类代码检查工具报告的警告都正确处理掉,一个不漏,保证你成长飞快。
最后:入门有方法,进阶靠本身。
书不在多,每一个阶段一本书就够了,因此我只推荐一本:《Java初级:Java语言程序设计》
理由:很基础,适合初学者,建议看到前十四章就能够了,第十二章也能够略过。
Java中级:
《Thinking in java》
Java经典书籍,不少人说他是初级书籍,可是个人见解是他很是不适合初学者,若是没有任何经验的初学者直接看这本书会一头雾水,可是有了必定Java基础那么这本书必看。
Java进阶:
《Effective Java》
公认的Java进阶必备,这是一本实用至上的书,78条建议,满满的干货。
Android初级 :
《第一行代码》
郭神的书,全书由浅入深,很系统全面,讲解的也很详细,很是适合Android入门。
Android进阶:
《Android开发艺术探索》
这是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点,Android开发进阶值得拥有!
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进阶书 :
《Android开发艺术探索》,做者任玉刚。分析android核心知识点,直指高级工程师进阶要点!(做为艺术探索一书的读者,我也是激励推荐的!!很是赞的一本书!)
Android入门书 :
《第一行代码》:做者郭霖。推荐理由:看了郭霖不少博客文章,每一篇都写的很详细,也很用心。这本书大概浏览了一遍,内容浅显易懂,很是适合初学者!
Android进阶书 :
《Android开发艺术探索》,做者任玉刚。我最近也在看这本书,收获很大,巩固了之前比较薄弱的地方,也知道还有那些知识须要学好,是进阶的好书!
《Android系统源代码情景分析》,做者罗升阳。推荐理由:国内学安卓的第一批先驱者,至今他的不少文章都看不懂,惭愧啊,这本书是他的心血,只是,读懂这本书须要很好的基础,大概吧!
Android入门书 :
《Android4高级编程》
《第一行代码》
《Android编程权威指南》
推荐理由:全面、基础,内容丰富!基础类型的书只要看一本就够了,用来全面了解知识体系和结构,不用所有精读,只须要有概念便可
Android进阶书 :
《Android群英传》,总结从入门到提升的学习方法
《Android开发艺术探索》,进阶必备知识点的深刻讲解
《App研发录》,研发体系的深刻研究与总结
推荐理由:进阶类书籍须要好好精读,针对本身薄弱的知识点不断进行总结
Android底层书 :
《深刻理解Android ***》系列书籍,邓凡平老师写的系列。
《Android源码设计模式》,结合设计模式分析源码
《Android框架揭秘》,底层架构的一本好书
推荐理由:底层书籍对于应用开发者来讲,不用过于深刻,主要用于学习设计思路和了解底层设计机制
选择当下最适合本身的最重要。
初学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. 能够尝试从非技术角度来看技术。《暗时间》 《精进,如何成为一个厉害的人》 都推荐你们看看。高效来自于自我认知
看书的目的,是系统的理解某一相对独立的点与面。尽可能抽整块的时间来消化,别像看博客,公众号那样,手指一划一页就翻没了。没有真正的思考与实践,就不叫真的理解。平时那些碎片知识若是能经过系统的书籍来整理,是对咱们的知识体系的梳理与巩固。
至于那些还不能消化高阶体系的朋友也不用强求,这是一个过程。先知其然,再去知其因此然。选当下最适合本身的,一步步进阶,不是更好吗:)