jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图。另一份 Android 开发学习路线图。可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiaohua的呼吁下,我花了些时间,把这篇大牛的推荐清单编辑成了Markdown格式,方便大家浏览,学习。

有一些链接可能还不是特别准确,因为我只能根据图片上的书或者资源的名字去Google可能的书籍,所以链接上有什么不对的,欢迎大家评论指出,我会及时更正。请参考原文:另一份 Android 开发学习路线图 帮助修改。谢谢。

基础工具部分: 中文手册,我猜测是Maven中文手册,可是我并没有找到这样的资源,欢迎知道的朋友告诉我;

Android部分有 『第三方库集合』,我没能找到资源地址;

书籍我大多是给的豆瓣链接,如果觉得不合适可以替换一下;

关于Markdown表格

本来我一开始整理了一份表格版本的, 用 Mou 写的,表格内的换行用
标签处理的,但是在DiyCode上来发的时候,发现Markdown表格内部不支持
标签换行,所以就只能整理成平铺的文档格式。Markdown对于表格的支持不是很强大。

程序设计

一、java

(a)基本语法(如继承、异常、引用、泛型等)

Java核心技术 卷I(适合入门)

进阶

Effective Java中文版(如何写好的Java代码)

Java解惑 (介绍烂Java代码是什么样的)

(b)多线程、并发

Java并发编程实战 (系统全面的介绍了Java的并发,如何设计支持并发的数据结构)

(c)Java 7

Java程序员修炼之道 (详细的介绍Java 7 的新特性)

(d)Java 8

写给大忙人看的Java SE 8

函数式编程思维

(e)Java虚拟机

深入理解Java虚拟机 (并不是那么难,Java程序员都该看看)

(f)性能优化

Java性能优化权威指南 (后面的章节好像用处不大,前面有些部分还是值得看)

二、算法与数据结构

算法时间复杂度、空间复杂度的基本认知

熟悉常用数据结构:链表、队列、散列表、树等;

递归、分支等基本思想;

常用算法应用:排序、查找、比较等

数据结构与算法分析 (涵盖面比较全、示例是Java语言)

算法设计与分析基础 (实用主义的典型、偏算法设计)

编程珠玑 (实践型算法数据)

三、操作系统

对Linux/OS的基本认知

Linux的常用命令

鸟哥的Linux私房菜

Linux内核设计与实现(原书第3版) (很精炼的语言描述清楚了内核算法)

四、网络

Http/Https

TCP/IP

图解HTTP

图解TCP/IP

进阶

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

AndroidStudio

Git权威指南中文手册

二、软件质量

代码整洁

码质量

码重构

编写可读代码的艺术 (来自Google工程师,专注于代码可读性)

代码整洁之道(使用面向对象+敏捷开发原则编写清晰可维护的代码)

重构-改善既有代码的设计 (学习改善已有代码)

重构手册 (改善代码的实际操作)

三、设计模式

23种常见设计模式

大话设计模式

Head First设计模式(两本入门级的设计模式书籍)

进阶

设计模式-可复用面向对象软件的基础(设计模式在实际中的应用)

四、敏捷开发

解析极限编程

敏捷开发的艺术

进阶

敏捷软件开发-原则、模式与实践

五、专业开发

序员职业素养

更高效、更实效

程序员的是职业素养

程序员修炼之道-从小工到专家

六、思考人生

黑客与画家 (硅谷创业之父Paul Craham 的文集,主要介绍黑客及优秀程序员的爱好和动机)

一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本的更多相关文章

  1. 一个老鸟发的公司内部整理的 Android 学习路线图

    基础工具部分: 中文手册,我猜测是Maven中文手册,可是我并没有找到这样的资源,欢迎知道的朋友告诉我: Android部分有 『第三方库集合』,我没能找到资源地址: 书籍我大多是给的豆瓣链接,如果觉 ...

  2. 在程序内部跳转到下一个页面 和 向另一个servlet发起跳转

    request.getRequestDispatcher("/success.html").forward(request,response); request.getReques ...

  3. .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器

    使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言     Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...

  4. 关于公司内部的Nuget服务

    简介 公司内部搭建的Nuget服务,私有安全,局域网,速度快. 使用方法 VS -> 工具 -> 库程序包管理器 -> 程序包管理器设置 -> 程序包源 -> 新增以下配 ...

  5. 公司内部搭建git服务器

    前言 因为gitHub上的项目是公开的,不适合公司内部项目放在上面,而私人的需要收费,这绝非是我们愿意的.所以找了个跟gitHub很相似,但是又免费的gitLab.现在将搭建gitLab过程记录一下留 ...

  6. Rafy 领域实体框架 - 公司内部培训视频

    本月给公司内部一个项目做架构重构,其中使用到了 Rafy 框架.所以我培训了 Rafy 领域实体框架的使用方法,过程中录制了视频,方便其他同事查看.现在把视频放到园里来分享下,有兴趣的朋友可以看看,有 ...

  7. 搭建公司内部的NuGet Server

    随着公司业务慢慢的拓展,项目便会越来越来多,很多项目会依赖其他项目DLL,比如一些底层的技术框架DLL引用,还有各业务系统的也有可能会有引用的可能. 项目多,交叉引用多,如果要是有一个DLL更新,那就 ...

  8. 公司内部培训SQL Server传统索引结构PPT分享

    公司内部培训SQL Server传统索引结构PPT分享 下载地址 http://files.cnblogs.com/files/lyhabc/SQLServer%E4%BC%A0%E7%BB%9F%E ...

  9. 使用mvvm框架avalon开发公司内部运营管理系统的一些心得

    接触avalon差不多有一年时间了,当时是看前端大牛司徒正美的博客才了解到还有这么一个高大上的玩意,然后就加入了avalon的讨论群.从群里零零散散的了解了avalon的一些特性,感觉很强大,感觉思想 ...

随机推荐

  1. git使用笔记-提高篇-重置揭密

    https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86 重置揭密 在继续了 ...

  2. Murano Weekly Meeting 2016.07.12

    Meeting time: 2016.July.12 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1. ...

  3. Kure讲HTML_如何学习HTML

    HTML即是超文本标记语言,它主要是用来构建网页的轮廓的.HTML自身包含了众多的API(应用程序接口:即HTML暴露给Web前端开发者的语言特性,当然作为开发者就应该更多的关注这个.)话不多说,直接 ...

  4. Kudu compaction design

    不多说,直接上干货! http://blog.csdn.net/lookqlp/article/details/51438109

  5. ThinkPHP 统计数据(数字字段)更新 setInc 与 setDec 方法

    ThinkPHP 统计数据更新 ThinkPHP 内置了对统计数据(数字字段)的更新方法: setInc():将数字字段值增加 setDec():将数字字段值减少 setInc() ThinkPHP ...

  6. POJ 3177——Redundant Paths——————【加边形成边双连通图】

    Redundant Paths Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  7. .NET面试题1

    1. const和readonly有什么区别? const关键字用来声明编译时常量,readonly用来声明运行时常量.都可以标识一个常量,主要有以下区别: 1.初始化位置不同.const必须在声明的 ...

  8. JavaScript常用字符串操作方法

    1.concat() concat() 方法用于连接两个或多个字符串,并返回连接后的字符串.stringObject.concat() 与 Array.concat() 很相似. var str1=& ...

  9. 对数组排序进行"洗牌"(随机排序)

    这段代码在这里使用Fisher Yates洗牌算法给一个指定的数组进行洗牌(随机排序). function shuffle(arr) {     var i,        j,        tem ...

  10. 一道Java集合框架题

    问题:某班30个学生的学号为20070301-20070330,全部选修了Java程序设计课程,给出所有同学的成绩(可用随机数产生,范围60-100),请编写程序将本班各位同学的成绩按照从低到高排序打 ...