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. (转)AIX 5.3安装SSH .

    AIX 5.3安装SSH . 原文:http://blog.csdn.net/chunhua_love/article/details/12004845 环境:OS:AIX 5.3SSH: opens ...

  2. 搭建mysql集群,使用Percona XtraDB Cluster搭建

    Percona XtraDB Cluster提供的特性有:1.同步复制,事务要么在所有节点提交或不提交.2.多主复制,可以在任意节点进行写操作.3.在从服务器上并行应用事件,真正意义上的并行复制.4. ...

  3. MySQL GROUP_CONCAT长度限制引发的一场灾难

    GROUP_CONCAT函数是对查处的分组数据对于分组列相同的数据合并成一列用逗号隔开的函数. 但是该函数的长度有个默认限制,默认是1024个字符,超过就会截断,从而导致用count统计GROUP_C ...

  4. Docker 清理命令汇总

    杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有未打 dangling ...

  5. cf914D. Bash and a Tough Math Puzzle(线段树)

    题意 题目链接 Sol 直接在线段树上二分 当左右儿子中的一个不是\(x\)的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是\(x\)的两倍是不是需要特判, ...

  6. CSS 笔记之 CSS 选择器

    /*先设置背景再设置前景*/ pre{ background-color: #f8f8f8; border: solid 1px #ccc; border-radius: 3px; overflow: ...

  7. [原创]Debian9 安装配置MariaDB

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  8. Python中的Numpy、SciPy、MatPlotLib安装与配置

    Python安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器.网上关于这三个库的安装都写得非常不错,但是大部分人遇到的问题并不是如何安装,而是安装好后因为配置不当,在使 ...

  9. js获取及判断键盘按键的方法

    这篇文章主要介绍了js获取及判断键盘按键的方法,涉及JavaScript键盘事件的获取及键值的判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下   本文实例讲述了js获取及判断键盘按键的方法.分享 ...

  10. 【2017-06-17】QtGui基础控件:QSpinBox及QDoubleSpinBox

    今天开始一个新的系列,主要是翻译并摘录QtGui中基础空间的常用方法,并做一些简单的实验程序: 我觉得这是一个炒冷饭的行为,但有时候冷饭不能不炒,不热不好吃,而且也很容易发霉. 其实到现在这种状态,对 ...