内容简介 · · · · · ·
《Android进阶之光(第2版)》是一本Android进阶类图书,书中各知识点由浅入深、环环相扣,最终这些知识点形成了一个体系结构。本书共分为11章。第1章介绍从Android 5.0到Android 10.0各版本的新特性。第2章介绍Material Design。第3章介绍View体系,包括View的事件分发机制、工作流程、自定义View等知识点。第4章介绍多线程的知识。第5章介绍网络编程与网络框架的知识。第6章介绍常用的设计模式。第7章介绍事件总线。第8到第10章介绍架构设计所需要的知识点。第11章简单介绍Android系统框架与MediaPlayer框架。
《Android进阶之光(第2版)》详细并深入讲解Android开发者必备的和前沿的知识,适合有一定基础的开发者阅读,有助于他们提高技术水平;同时,本书系统化的知识体系也可以令高级开发者...
《Android进阶之光(第2版)》是一本Android进阶类图书,书中各知识点由浅入深、环环相扣,最终这些知识点形成了一个体系结构。本书共分为11章。第1章介绍从Android 5.0到Android 10.0各版本的新特性。第2章介绍Material Design。第3章介绍View体系,包括View的事件分发机制、工作流程、自定义View等知识点。第4章介绍多线程的知识。第5章介绍网络编程与网络框架的知识。第6章介绍常用的设计模式。第7章介绍事件总线。第8到第10章介绍架构设计所需要的知识点。第11章简单介绍Android系统框架与MediaPlayer框架。
《Android进阶之光(第2版)》详细并深入讲解Android开发者必备的和前沿的知识,适合有一定基础的开发者阅读,有助于他们提高技术水平;同时,本书系统化的知识体系也可以令高级开发者获益良多。
作者简介 · · · · · ·
刘望舒 腾讯云最具价值专家(TVP),国内知名Android技术专家,著有畅销书《Android进阶之光》《Android进阶解密》 《Android进阶指北》,电子工业出版社博文视点2017、2018、2019、2020年度优秀作者。谷歌开发者社区、Droidcon等技术大会特邀讲师。CSDN知名博主,荣获CSDN 2018年度博客之星称号。11年Android开发经验,曾在华为、开心网等知名公司任职,目前就职于某大型互联网公司,担任技术负责人,负责架构和管理工作。
目录 · · · · · ·
第1章 Android新特性 4
1.1 Android 5.0新特性 4
1.1.1 Android 5.0主要新特性概述 4
1.1.2 替换ListView和GridView的RecyclerView 7
1.1.3 CardView 18
· · · · · · (更多)
第1章 Android新特性 4
1.1 Android 5.0新特性 4
1.1.1 Android 5.0主要新特性概述 4
1.1.2 替换ListView和GridView的RecyclerView 7
1.1.3 CardView 18
1.1.4 三种Notification 23
1.1.5 Toolbar与Palette 29
1.2 Android 6.0新特性 35
1.2.1 Android 6.0主要新特性概述 36
1.2.2 运行时的权限机制 37
1.3 Android 7.0新特性 51
1.3.1 Android 7.0主要新特性概述 51
1.3.2 多窗口模式 53
1.4 Android 8.0新特性 56
1.5 Android 9.0新特性 59
1.6 Android 10.0新特性 61
1.7 本章小结 63
第2章 Material Design 64
2.1 Material Design概述 64
2.1.1 核心思想 64
2.1.2 材质与空间 65
2.1.3 动画 65
2.1.4 样式 66
2.1.5 图标 67
2.1.6 图像 67
2.1.7 组件 68
2.2 Design Support Library常用控件详解 70
2.2.1 Snackbar的使用 70
2.2.2 用TextInputLayout实现登录界面 72
2.2.3 FloatingActionButton的使用 78
2.2.4 用TabLayout实现类似网易选项卡的动态滑动效果 79
2.2.5 用NavigationView实现抽屉菜单界面 86
2.2.6 用CoordinatorLayout实现Toolbar的隐藏和折叠 93
2.3 本章小结 107
第3章 View体系与自定义View 108
3.1 View与ViewGroup 108
3.2 坐标系 110
3.2.1 Android坐标系 110
3.2.2 View坐标系 111
3.3 View的滑动 113
3.3.1 layout方法 113
3.3.2 offsetLeftAndRight()与offsetTopAndBottom() 116
3.3.3 LayoutParams(改变布局参数) 116
3.3.4 动画 116
3.3.5 scrollTo与scrollBy 118
3.3.6 Scroller 120
3.4 属性动画 121
3.5 源码解析Scroller 128
3.6 View的事件分发机制 131
3.6.1 源码解析Activity的构成 131
3.6.2 源码解析View的事件分发机制 137
3.7 View的工作流程 144
3.7.1 View的工作流程入口 144
3.7.2 理解MeasureSpec 147
3.7.3 View的measure流程 151
3.7.4 View的layout流程 159
3.7.5 View的draw流程 162
3.8 自定义View 167
3.8.1 继承系统控件的自定义View 167
3.8.2 继承View的自定义View 169
3.8.3 自定义组合控件 176
3.8.4 自定义ViewGroup 181
3.9 本章小结 195
第4章 多线程编程 196
4.1 线程基础 196
4.1.1 进程与线程 196
4.1.2 线程的状态 198
4.1.3 创建线程 199
4.1.4 理解中断 201
4.1.5 安全地终止线程 203
4.2 线程同步 205
4.2.1 重入锁与条件对象 205
4.2.2 同步方法 208
4.2.3 同步代码块 209
4.2.4 volatile 210
4.3 阻塞队列 216
4.3.1 阻塞队列简介 216
4.3.2 Java中的阻塞队列 217
4.3.3 阻塞队列的实现原理 220
4.3.4 阻塞队列的使用场景 222
4.4 线程池 224
4.4.1 ThreadPoolExecutor 225
4.4.2 线程池的处理流程和原理 226
4.4.3 线程池的种类 228
4.5 AsyncTask的原理 232
AsyncTask源码分析 233
4.6 本章小结 239
第5章 网络编程与网络框架 240
5.1 网络分层 240
5.2 TCP的三次握手与四次挥手 241
5.3 HTTP原理 243
5.3.1 HTTP简介 243
5.3.2 HTTP请求报文 244
5.3.3 HTTP响应报文 245
5.3.4 HTTP的消息报头 247
5.3.5 抓包应用举例 248
5.4 HttpClient与HttpURLConnection 249
5.4.1 HttpClient 249
5.4.2 HttpURLConnection 253
5.5 解析Volley 256
5.5.1 Volley的基本用法 256
5.5.2 源码解析Volley 262
5.6 解析OkHttp 271
5.6.1 OkHttp的基本用法 271
5.6.2 源码解析OkHttp 4 281
5.7 解析Retrofit 291
5.7.1 Retrofit的基本用法 291
5.7.2 源码解析Retrofit 298
5.8 本章小结 307
第6章 设计模式 308
6.1 设计模式的六大原则 308
6.2 设计模式的分类 310
6.3 创建型设计模式 311
6.3.1 单例模式 311
6.3.2 简单工厂模式 315
6.3.3 工厂方法模式 317
6.3.4 建造者模式 320
6.4 结构型设计模式 323
6.4.1 代理模式 323
6.4.2 装饰模式 327
6.4.3 外观模式 331
6.4.4 享元模式 335
6.5 行为型设计模式 338
6.5.1 策略模式 338
6.5.2 模板方法模式 341
6.5.3 观察者模式 345
6.6 本章小结 349
第7章 事件总线 350
7.1 解析EventBus 350
7.1.1 使用EventBus 350
7.1.2 源码解析EventBus 357
7.2 解析otto 368
7.2.1 使用otto 368
7.2.2 源码解析otto 372
第8章 函数式编程 378
8.1 RxJava 3.x的基本用法 378
8.1.1 RxJava 3.x概述 378
8.1.2 RxJava 3.x的基本实现 380
8.2 RxJava 3.x的Subject和Processor 382
8.2.1 Subject的分类 382
8.2.2 Processor 383
8.3 RxJava 3.x操作符入门 383
8.3.1 创建操作符 384
8.3.2 变换操作符 385
8.3.3 过滤操作符 389
8.3.4 组合操作符 395
8.3.5 辅助操作符 397
8.3.6 错误处理操作符 401
8.3.7 条件操作符和布尔操作符 404
8.3.8 转换操作符 407
8.4 RxJava 3.x的线程控制 409
8.5 RxJava 3.x的使用场景 410
8.5.1 RxJava 3.x结合OkHttp访问网络 410
8.5.2 RxJava 3.x结合Retrofit访问网络 412
8.5.3 用RxJava 3.x实现RxBus 416
8.6 本章小结 419
第9章 注解与依赖注入框架 420
9.1 注解 420
9.1.1 注解分类 420
9.1.2 定义注解 422
9.1.3 注解处理器 424
9.2 依赖注入的原理 431
9.2.1 控制反转与依赖注入 431
9.2.2 依赖注入的实现方式 433
9.3 依赖注入框架 434
9.3.1 为何使用依赖注入框架 434
9.3.2 解析ButterKnife 435
9.3.3 解析Dagger2 446
9.4 本章小结 465
第10章 应用架构设计 466
10.1 MVC模式 466
10.2 MVP模式 467
10.2.1 应用MVP模式 468
10.2.2 MVP结合RxJava和Dagger2 477
10.3 MVVM模式 484
10.3.1 解析Data Binding 485
10.3.2 应用Data Binding 505
10.4 本章小结 508
第11章 系统架构与MediaPlayer框架 509
11.1 Android系统架构 509
11.2 Android系统源码目录 512
11.2.1 整体结构 513
11.2.2 应用层部分 514
11.2.3 应用框架层部分 514
11.2.4 C/C++程序库部分 515
11.3 Source Insight的使用 516
11.4 MediaPlayer框架 517
11.4.1 Java Framework层的MediaPlayer分析 518
11.4.2 JNI层的MediaPlayer分析 519
11.4.3 Native层的MediaPlayer分析 522
11.5 本章小结 529
后记 530
· · · · · · (收起)
喜欢读"Android进阶之光(第2版)"的人也喜欢 · · · · · ·
-
- Android进阶指北 9.3
Android进阶之光(第2版)的书评 · · · · · · ( 全部 16 条 )
![](https://img3.doubanio.com/icon/u60161074-33.jpg)
三周刷完《进阶之光》的感受
> 更多书评 16篇
论坛 · · · · · ·
在这本书的论坛里发言以下书单推荐 · · · · · · ( 全部 )
- Android Dev (aasa)
- 书单|Android (做一个和尚)
- Android (丹京)
- Andriod开发 (Will)
- 书架 (圣殿的漆)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有34人想读,手里有一本闲着?
订阅关于Android进阶之光(第2版)的评论:
feed: rss 2.0
0 有用 Joard Spike 2022-03-31 19:02:09
大杂烩,很多篇幅都是偏示例介绍性质。作为App开发人员的进阶书籍,是合格的。
0 有用 小山 2022-06-28 19:21:53
内容还算不错,但是如果讲不清的就干脆删掉,有些凑字数的东西,没必要加进来,而且各种版本稍微有点老,毕竟是第二版应该及时跟上主流。
0 有用 云扬 2023-04-28 19:09:44 上海
扣两星在于:1. 拼写与排版错误过多,影响理解与阅读。作者在出版前一定没有通读过这本书。2. 有很多解释并不清楚,给人的感觉是有些篇幅是作者写给自己看的,而不是写给读者看的。 总的来说,这本书的架构还不错,看不懂的时候按照架构去网上查阅其他人的文章,理解的会更好一些。
0 有用 卓别林的拐杖 2022-05-28 11:00:41
第一版和第二版都有,相比于前者增加了很多新内容,依赖的库也升级到了最新,语言简洁明了,易懂,适合提高自己
0 有用 一枕黄粱 2021-11-11 22:18:02
第一版读过可以的,《Android进阶解密》《Android进阶指北》入手了,这个必须入,书变小了确实是
0 有用 云扬 2023-04-28 19:09:44 上海
扣两星在于:1. 拼写与排版错误过多,影响理解与阅读。作者在出版前一定没有通读过这本书。2. 有很多解释并不清楚,给人的感觉是有些篇幅是作者写给自己看的,而不是写给读者看的。 总的来说,这本书的架构还不错,看不懂的时候按照架构去网上查阅其他人的文章,理解的会更好一些。
0 有用 小山 2022-06-28 19:21:53
内容还算不错,但是如果讲不清的就干脆删掉,有些凑字数的东西,没必要加进来,而且各种版本稍微有点老,毕竟是第二版应该及时跟上主流。
0 有用 卓别林的拐杖 2022-05-28 11:00:41
第一版和第二版都有,相比于前者增加了很多新内容,依赖的库也升级到了最新,语言简洁明了,易懂,适合提高自己
0 有用 Joard Spike 2022-03-31 19:02:09
大杂烩,很多篇幅都是偏示例介绍性质。作为App开发人员的进阶书籍,是合格的。
0 有用 WODECC 2021-12-02 19:20:58
面试非常实用啊,卷死其他人