Android高级开发必读书单


程序设计

一、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 的文集,主要介绍黑客及优秀程序员的爱好和动机)

你可能感兴趣的:(【架构设计】)