主题 : Android学习规划和学习资料 复制链接 | 浏览器收藏 | 打印
欢迎加入清源的android开发交流群:314230976,加群时请验证:arm,谢谢!
级别: 侠客
UID: 94332
精华: 0
发帖: 72
金钱: 370 两
威望: 74 点
贡献值: 0 点
综合积分: 144 分
注册时间: 2013-07-14
最后登录: 2013-09-25
楼主  发表于: 2013-07-15 18:39

 Android学习规划和学习资料

最近经常被问起如何更深入学习Android,在这里分享一些学习经验。
一、应用层:
应用层的书没有特别好的,内容都大同小异。推荐下面的学习资料:
1.     Android developer网站http://developer.android.com
Android developer网站提供了熟悉Android系统最权威的资料,这里包含了Android所有概念的详细解释。
2.     Android SDK示例程序
AndroidSDK示例程序,位于sdk/samples目录下,提供了大量的案例程序(demo)。是熟悉应用程序和学习Android API的最佳入门材料。
3.     《Android 4高级编程(第3版)》
(美) Reto Meier 著,算是介绍应用层相对好点的材料,翻译也不错
4.     一本能迅速上手的书
对于初学者,有一本迅速上手的书也是很有必要的。国内出版物通常侧重于实践,方便上手。这方面没有特别好的选择,通常人民邮电出版社图灵、机械工业出版社华章、电子工业出版社博文视点出版的原创书籍质量相对好些,可以根据自己的特点任选一本。最好选择2012年以后出版的图书,这样才可能包含比较新的概念,比如Fragment等。
5.     分析Android源码内置应用程序
Android内置应用程序是比较进阶的学习资料。Launcher、Contacts、Phone、Camera、Gallery不但提供了大量的编程技巧,还对理解系统功能十分有益。
6.     分析Android开源项目
可以从Android开源项目借鉴很多思想和方法。分析开源项目对第三方APP的开发十分有益。
二、框架层
框架层相对稳定,国内原创书籍质量也比较高。推荐下面的学习资料:
1.     《Android系统源代码情景分析》和老罗的Android之旅博客
作者:罗升阳。基于Android 2.3。老罗的特点是功底深厚,分析深入,对框架层核心模块的理解都很清晰透彻。需要读者有较高的起点,对C和C++部分的分析更为详细,对深入理解框架层非常有用。这本书对Binder驱动、智能指针、Ashmem、键盘消息处理机制、Service、Log系统的分析非常好。建议学习框架层必备。
2.     《Android的设计与实现:卷1》
作者:杨云君。基于Android4.1。这本书的特点是思路清晰,分析严谨细致,基本没留下什么盲点,对解决实际问题非常有用。对Java部分的分析更为详细。这本书对PackageManager、应用程序安装过程、ActivityManager、消息处理、进程管理、应用程序启动过程、系统启动过程的分析非常好。建议学习框架层必备。
3.     《深入理解Android:卷1,2》
作者:邓凡平。卷1基于Android2.2 ,卷2基于Android 4.0。这本书的特点是分析流畅,内容丰富,卷1侧重于框架层C和C++部分,卷2侧重于框架层Java部分,分析比较简略,对迅速了解框架层很有用。这本书对Binder框架、PowerManager、ContentProvider、常见类、Surface的分析非常好。建议学习框架层必备。
三、内核驱动层
1. 《Linux内核设计与实现》
Linux开发四大名著之一,简称LKD。是迅速理解Linux整体框架的最佳选择。
2. 《深入理解Linux内核》
Linux开发四大名著之一,简称ULK。理解Linux内核的最佳选择。
3.《Linux设备驱动程序》
Linux开发四大名著之一,简称LDD。理解Linux驱动的最佳选择。
4.《深入理解Linux内核架构》
Linux开发四大名著之一,简称PLKA。理解Linux架构的最佳选择。
5. 优秀的国产图书
Linux内核源代码情景分析 (作者:毛德操,胡希明):国内分析Linux内核最深入的一本书,基于linux2.4,很多内容仍然值得借鉴。
Linux设备驱动开发详解(作者:宋宝华):适合驱动入门的一本书,可以配合LDD一起看。
嵌入式Linux应用开发完全手册 (作者:韦东山):适合入门的一本书,非常易懂
ARM体系结构与编程(作者:杜春雷):适合了解ARM体系结构的一本书。
[ 此帖被拉里佩奇在2013-07-15 18:49重新编辑 ]
欢迎加入android开发交流群,群号是:314230976