[置顶] 曙光到来,我的新书《Android进阶之光》已出版
独立博客版本请点击这里
由来
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初、中、高级的工程师阅读。对于初、中级工程师会帮助他们向高级工程师迈进,而高级工程师也会从本书系统的知识体系中获益良多。
目录
封面
封面是美女设计师设计的,是一个武侠风格的机器人(书中很多例子都涉及到了武侠)。
感谢为这本书写推荐语的朋友们,感谢你们的支持。
购买
勘误和互动
本人虽然已经竭尽全力,但始终难免会有错误,欢迎大家向我反馈,我也会在独立博客和CSDN博客上定期发布本书的勘误信息。
本书的互动地址:
独立博客:http://liuwangshu.cn
CSDN博客:http://blog.csdn.net/itachi85
github:https://github.com/henrymorgen
微博:http://weibo.com/itachi85
qq群:499174415
公众号:刘望舒
源码下载地址为:https://github.com/henrymorgen/android-advanced-light
后记
由于本书的篇幅有限,我还有很多想要讲的技术知识无法在书中写出,这些技术知识会继续在我的博客和微信公众号上分享出来。如果感兴趣,你可以在我的博客和微信公众号中继续学习。
[置顶] 曙光到来,我的新书《Android进阶之光》已出版的更多相关文章
- 《Android进阶之光》--注解与依赖注入框架
No1: 标准注解: 1)@Override:覆写 2)@Deprecated:过时 3)@SuppressWarnings:取消警告 4)@SafeVarargs:申明使用了可变长度参数的方法 No ...
- 《Android进阶之光》--Material Design
接上篇<Android进阶之光>--Android新特性 No1: 组件: 1)底部工作条-Bottom Sheets 2)卡片-Cards 3)提示框-Dialogs 4)菜单-Menu ...
- [置顶] 新修改ADB,支持Android 4.2 系统 ,全部中文命令,手机屏幕截图等等
发过好几个ADB的工具,有很多朋友用了之后给我反馈了不少的意见和bug,这里非常感谢他们,所以今天花了一天的时间重新整理了一下ADB,并且修改了这些BUG.也有朋友建议我给一个修改列表,今天发这个帖子 ...
- [置顶] High Performance Canvas Game for Android
Rule #0 为移动平台进行优化 为移动平台进行优化是十分重要的,因为移动平台的性能大概只有桌面平台的1/10左右(*1),它通常意味着: 更慢的CPU速度,这意味着不经过优化的JavaScript ...
- [置顶] 一步一步学android之事件篇——下拉列表事件
上一篇RadioGroup比较简单,所以再学习个spinner的OnItemSelectedListener事件,前面说过spinner的主要功能就是提供列表显示的选择,比如我们在选择城市的时候就会用 ...
- Android进阶之光-第1章-Android新特性-读书笔记
第 1 章 Android 新特性 1.1 Android 5.0 新特性 1.1.1 Android 5.0 主要新特性 1. 全新的 Material Design 新风格 Material De ...
- 《Android进阶之光》--Android新特性
Android 5.0新特性 1)全新的Material Design设计风格 2)支持多种设备 3)全新的通知中心设计--按照优先级显示 4)支持64位ART虚拟机 5)多任务视窗Overview ...
- 《Android进阶之光》--Dagger2
No1: Project的build.gradle文件添加 buildscript{ dependencies{ ...classpath 'com.neenbedankt.gradle.plugin ...
- 《Android进阶之光》--事件总线
No1: EventBus三要素: 1)Event:事件 2)Subscriber:事件订阅者 3)Publisher:事件发布者 No2: EventBus的4种ThreadMode(线程模型): ...
随机推荐
- 20144303 《Java程序设计》第三周学习总结
20144303 <Java程序设计>第三周学习总结 教材学习内容总结 •对象是存在的具体实体,具有明确的状态和行为,类是具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属 ...
- [BZOJ1584]Cleaning Up 打扫卫生
Description 有N头奶牛,每头那牛都有一个标号Pi,1 <= Pi <= M <= N <= 40000.现在Farmer John要把这些奶牛分成若干段,定义每段的 ...
- ubuntu系统samba服务的安装配置
安装 sudo apt-get install samba 配置 打开Samba配置文件: sudo gedit /etc/samba/smb.conf 在其最后添加: [share] path = ...
- mysql5.7.22安装步骤
在官网上下载mysql的压缩包,然后解压 (下载地址:https://dev.mysql.com/downloads/mysql/) 1.打开cmd,建议使用管理员的身份打开cmd,如果不用使用管理员 ...
- Package Manager Console的使用
Find-Package PM> Find-Package autofac https://docs.microsoft.com/en-us/nuget/tools/ps-ref-find-pa ...
- 记数排序 & 桶排序 & 基数排序
为什么要写这样滴一篇博客捏...因为一个新初一问了一道水题,结果就莫名其妙引起了战斗. 然后突然发现之前理解的桶排序并不是真正的桶排序,所以写一篇来区别下这三个十分相似的排序辣. 老年菜兔的觉醒!!! ...
- linux(一)export的生命周期
本文从shell执行的角度分析export变量的生命周期 # 只对当前shell环境起作用,比如通过不同的远程ssh就是不同的shell环境 export k=v 当运行一个.sh文件或者是shell ...
- 【尺度不变性】An Analysis of Scale Invariance in Object Detection – SNIP 论文解读
前言 本来想按照惯例来一个overview的,结果看到1篇十分不错而且详细的介绍,因此copy过来,自己在前面大体总结一下论文,细节不做赘述,引用文章讲得很详细,另外这篇paper引用十分详细,如果做 ...
- PRcurve
https://blog.csdn.net/qq_33350808/article/details/83178002 问题:删掉pkl
- 跟着vamei复习概率论
最近重新看了一下概率论,感觉很多东西都遗忘了,还会陷入各种误区,赶紧的纠正回来. 概率论这块,主要内容包括: 事件.条件概率.随机变量.随机变量的分布函数.概率密度.联合分布.期望.方差.协方差. 我 ...