android 学习路线
转载来源:https://blog.csdn.net/lixuce1234/article/details/77947405
jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图
。另一份
Android 开发学习路线图。可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiaohua的呼吁下,我花了些时间,把这篇大牛的推荐清单编辑成了Markdown格式,方便大家浏览,学习。
有一些链接可能还不是特别准确,因为我只能根据图片上的书或者资源的名字去Google可能的书籍,所以链接上有什么不对的,欢迎大家评论指出,我会及时更正。请参考原文:另一份 Android 开发学习路线图 帮助修改。谢谢。
- 基础工具部分: 中文手册,我猜测是Maven中文手册,可是我并没有找到这样的资源,欢迎知道的朋友告诉我;
- Android部分有 『第三方库集合』,我没能找到资源地址;
- 书籍我大多是给的豆瓣链接,如果觉得不合适可以替换一下;
程序设计
一、java
(a)基本语法(如继承、异常、引用、泛型等)
- Java核心技术 卷I(适合入门)
-
进阶
- Effective Java中文版(如何写好的Java代码)
- Java解惑 (介绍烂Java代码是什么样的)
(b)多线程、并发
- Java并发编程实战 (系统全面的介绍了Java的并发,如何设计支持并发的数据结构)
(c)Java 7
- Java程序员修炼之道 (详细的介绍Java 7 的新特性)
(d)Java 8
(e)Java虚拟机
- 深入理解Java虚拟机 (并不是那么难,Java程序员都该看看)
(f)性能优化
- Java性能优化权威指南 (后面的章节好像用处不大,前面有些部分还是值得看)
二、算法与数据结构
- 算法时间复杂度、空间复杂度的基本认知
- 熟悉常用数据结构:链表、队列、散列表、树等;
- 递归、分支等基本思想;
- 常用算法应用:排序、查找、比较等
三、操作系统
- 对Linux/OS的基本认知
- Linux的常用命令
- 鸟哥的Linux私房菜
- Linux内核设计与实现(原书第3版) (很精炼的语言描述清楚了内核算法)
四、网络
- Http/Https
- TCP/IP
五、Android
- 四大组件(服务、广播、ContentProvider、页面容器)
- 基础UI组件(ListView、ViewPager)
- 异步任务机制(AsyncTask、Handler、线程池)
- 布局优化(层级、绘制、碎片化处理)
- 图片加载(Bitmap、缓冲区)
- UniversalMusicePlayer (通过学习一个音乐播放器的代码能很快了解四大组件)
- Android Training官方课程
- Android一些重要知识点解析整理
- Android UI/UX库(各类常用组件及扩展组件的集合)
- Picasso 、 Glide (两个图片加载库)
- The Google I/O 2015 Android App (Google大会官方的App,适合学习各类实现)
- Android开发技术前线 (定期翻译、发布国内外Android优质的技术、开源库、软件架构设计、测试等文章)
-
进阶
- 第三方库集合 (列举了常见的各方向第三方库)
软件工程
一、基础工具
IDE、Git、Maven
二、软件质量
- 代码整洁
- 码质量
- 码重构
- 编写可读代码的艺术 (来自Google工程师,专注于代码可读性)
- 代码整洁之道(使用面向对象+敏捷开发原则编写清晰可维护的代码)
- 重构-改善既有代码的设计 (学习改善已有代码)
- 重构手册 (改善代码的实际操作)
三、设计模式
23种常见设计模式
- 大话设计模式
- Head First设计模式(两本入门级的设计模式书籍)
-
进阶
- 设计模式-可复用面向对象软件的基础(设计模式在实际中的应用)
四、敏捷开发
五、专业开发
- 序员职业素养
- 更高效、更实效
六、思考人生
- 黑客与画家 (硅谷创业之父Paul Craham 的文集,主要介绍黑客及优秀程序员的爱好和动机)