勘误帖请点击这里
源码地址https://github.com/henrymorgen/android-advanced-light

由来

2016年我开始建立了自己的知识体系,所有的文章都是围绕着这个体系来写,随着这个体系的慢慢成长,开始有很多出版社联系我写书,因为比较看好电子工业出版社,就顺理成章的开始了《Android进阶之光》这本书的编写。写作过程中并没有遇到什么困难,就是书名一直确定不下来,后来受到了《运营之光》的启发,这本书的名字才最终确定下来,寓意就是为Android开发者的进阶之路带来指引和光明。

为什么写这本书

官方话这里我就不说了,其实就两点:
1.目前市场上的Android进阶书比较少,这本书的出现会帮助很多人。
2.对自己是一个挑战,也会带来不少提高,最主要的是养成了持续学习的习惯。

本书的内容

本书共分为11章,内容页数却有478页,而且和《Android群英传》一样是大开本,可见本书对知识点并不是泛泛而谈,而是深入的讲解。
第1章介绍Android5.0、6.0、7.0的新特性。包括5.0的RecyclerView、6.0的运行时权限机制和7.0的多窗口模式等知识点。
第2章介绍Material Design以及Design Support Library常用的控件,并给出实例将Design Support Library中常用控件结合在一起使用。
第3章介绍View相关的进阶知识,包括View的滑动、View的事件分发和View的工作流程。最后结合以上知识点来介绍自定义View。
第4章介绍多线程编程,不仅包括基础的线程知识,还会介绍线程同步和线程池等进阶知识点,最后结合这些知识点来分析Android7.0的AsyncTask的源码。
第5章介绍网络编程的基础知识以及常用的网络框架:Volley、OKHttp和Retrofit的使用方法和原理分析。
第6章将设计模式进行分类,并介绍每个分类中常用的设计模式。
第7章介绍事件总线EventBus和otto的使用方法和原理。
第8章介绍函数响应式编程RxJava的使用方法,包括RxJava的基本使用、操作符、使用场景和源码分析等知识点。
第9章会介绍注解的知识点和依赖注入框架ButterKnife和Dagger2的使用方法以及原理。
第10章介绍了Android应用架构设计,包括MVP框架以及MVP结合RxJava和Dagger2,MVVM框架相关的Data Binding支持库。
第11章主要是指引读者进行Android系统源码阅读并带其入门,介绍Android系统框架、源码目录和阅读源码工具。并以分析MediaPlayer框架的源码作为示例。

本书的特色

1.本书整体的结构是由浅入深,从最简单的第1章到难一些的第11章,难度是逐步加深的。
2.本书为了分析一些框架的原理,会介绍一些知识点做铺垫,比如为了更好的介绍依赖注入框架那么需要首先了解注解相关的知识点。再比如要分析AsyncTask的源码则需要了解线程池和阻塞队列等知识点。
3.本书的知识点环环相扣,比如要介绍MVP框架的设计,就需要先学习Retrofit、RxJava和Dagger2的相关知识点。
4.本书对于很多知识点都有很深入的讲解,对于常用的框架比如OKHttp、Retrofit、EventBus和RxJava等等不只是讲解了如何使用,而是更加深入的介绍其原理。
5.本书是目前市场上少有的详细介绍网络框架、事件总线、RxJava、依赖注入框架以及应用架构设计的书籍。

面向的读者

本书章节设计是由浅入深的,定位是学习Android第二本书,阅读的前提是要有一定的Android基础。适合于Android初、中、高级的工程师阅读。对于初、中级工程师会帮助他们向高级工程师迈进,而高级工程师也会从本书系统的知识体系中获益良多。

封面

封面是美女设计师设计的,是一个武侠风格的机器人(书中很多例子都涉及到了武侠)。

购买

京东
天猫
当当
亚马逊

勘误和互动

本人虽然已经竭尽全力,但始终难免会有错误,欢迎大家向我反馈。
勘误帖地址:http://liuwangshu.cn/life/android-advanced-light-corrigendum.html

本书的互动地址:
独立博客:http://liuwangshu.cn
github:https://github.com/henrymorgen
qq群:499174415
公众号:刘望舒

源码下载地址为:https://github.com/henrymorgen/android-advanced-light

后记

由于本书的篇幅有限,我还有很多想要讲的技术知识无法在书中写出,这些技术知识会继续在我的博客和微信公众号上分享出来。如果感兴趣,你可以在我的博客和微信公众号中继续学习。