内容简介 · · · · · ·
《Android开发精要》如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!然而,Android系统太过于庞大,源代码实现复杂,学习的技术门槛和时间成本都很高。有没有一种方法既能帮助开发者深入理解Android应用开发,又能不被底层大量的实现细节所羁绊,迅速掌握编写高质量Android应用所需的知识?《Android开发精要》针对这个问题给出了完美的答案!它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。
《Androi...
《Android开发精要》如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!然而,Android系统太过于庞大,源代码实现复杂,学习的技术门槛和时间成本都很高。有没有一种方法既能帮助开发者深入理解Android应用开发,又能不被底层大量的实现细节所羁绊,迅速掌握编写高质量Android应用所需的知识?《Android开发精要》针对这个问题给出了完美的答案!它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。
《Android开发精要》共13章,在逻辑上分为4个部分。第一部分(1-2章):第1章系统介绍了Android的系统架构、核心模块和设计思想,旨在让读者真正理解它的设计理念;第2章讲解了Android源代码的获取、编译、阅读和编辑的方法。第二部分(3-6章):第3章深入阐述了Android组件机制的设计理念和重要特征,并详细介绍了4大组件的方法和原理;第4章讲解了Intent对象和Android的意图机制,阐明了Android是如何将来自不同应用、不同进程的组件整合在一起的;第5章解析了Android中各个组件的生命周期,包括组件的进程模型和线程模型;第6章从开发的角度详细阐述了组件间数据传递的解决方案,以及它们的优缺点和适用场景。第三部分(7-8章):第7章深入讲解了Android的控件框架,结合实际项目对重要控件的实现和使用逐一进行了分析,还包含Android 4.0界面开发的实践“精华”;第8章分析了Android的资源体系,剖析了Android底层对资源的处理。第4部分(9-13章):第9章讲解了Android的数据存储结构,以及不同数据存储模式的使用要点;第10章分析了Android的各种网络连接方式,涵盖NFC和基于Wifi的P2P连接等内容;第11章讲解了Android的定位服务、地址解析服务、地图服务的框架实现;第12章仔细分析了Android各种多媒体功能的实现机制;第13章对Android中比较有特色的一些模块的实现细节进行了分析。
海报:
作者简介 · · · · · ·
范怀宇,资深Android开发工程师,毕业于清华大学,从事移动开发多年,对Android系统有颇为深入的研究,开发经验十分丰富。曾就职于网易有道,负责完成了有道词典Android版、网易掌上邮Android版、网易八方Android版等项目的开发工作,现就职于豌豆实验室 ,负责豌豆荚2.0版本的设计和开发。
作者微博:@duguguiyu(http://weibo.com/duguguiyu)
个人站点:http://flyvenus.net
目录 · · · · · ·
致谢
第1章 Android的系统架构/1
1.1 Android系统架构概况/2
1.1.1 应用层/4
1.1.2 框架层/5
1.1.3 运行时/5
1.1.4 核心类库/7
1.1.5 硬件抽象层和Linux内核/7
1.2 Android的核心功能模块/8
1.2.1 界面框架/8
1.2.2 数据存储/9
1.2.3 网络通信/10
1.2.4 地理信息/11
1.2.5 图形和多媒体处理/11
1.2.6 外部设备/12
1.2.7 特色功能模块/13
1.3 Android的架构特征和设计思想/13
1.3.1 平台开放性/14
1.3.2 基于组件的应用设计/14
1.3.3 基于网络服务的平台/15
1.4 小结/15
第2章 Android源代码的下载和编译/16
2.1 Android源代码的获取和编译/17
2.1.1 环境搭建/18
2.1.2 源代码获取/18
2.1.3 源代码的编译/21
2.2 Android源代码结构/22
2.2.1 框架层源代码目录frameworks/22
2.2.2 应用层源代码目录packages/24
2.2.3 其他源代码目录/24
2.3 Android源代码的阅读和编辑/25
2.3.1 用Eclipse阅读源代码/25
2.3.2 反馈Bug/26
2.3.3 提交修改/27
2.4 小结/27
第3章 Android组件模型解析/28
3.1 基于Mashup的应用设计/29
3.1.1 Android中的Mashup/29
3.1.2 基于Mashup的Android应用模型/30
3.1.3 基于Mashup的应用架构特征/32
3.2 界面组件Activity解析/34
3.2.1 界面组件的功能和特征/34
3.2.2 界面组件的开发/35
3.2.3 界面组件的数据结构/39
3.3 服务组件Service解析/40
3.3.1 服务组件的功能和特征/41
3.3.2 服务组件的开发和使用/43
3.3.3 服务组件的进程间通信模型/45
3.4 触发器组件Broadcast Receiver解析/49
3.4.1 触发器组件的功能和特征/49
3.4.2 触发器组件的使用/50
3.4.3 广播事件的发送/52
3.5 数据源组件Content Provider解析/52
3.5.1 数据源组件的定位和操作/53
3.5.2 数据源组件的开发/55
3.5.3 数据源组件的实现细节/57
3.6 应用配置文件解析/59
3.6.1 权限配置/61
3.6.2 环境配置/63
3.6.3 应用和组件配置/65
3.7 小结/66
第4章 Android的Intent机制/67
4.1 Intent对象的作用和构成/68
4.1.1 Intent对象的作用/69
4.1.2 Intent对象的构成/70
4.1.3 Intent对象解析/75
4.1.4 Intent Filter对象/76
4.2 意图匹配/78
4.2.1 意图匹配的算法流程/79
4.2.2 匹配组件的选择/84
4.2.3 意图匹配的优化/85
4.3 意图机制的应用/86
4.3.1 意图机制在界面组件中的应用/86
4.3.2 意图机制在服务组件中的应用/88
4.3.3 意图机制在触发器组件中的应用/89
4.4 小结/90
第5章 组件生命周期解析/91
5.1 应用进程模型/92
5.1.1 应用、组件和进程/92
5.1.2 组件的应用进程配置/94
5.2 应用进程托管/96
5.2.1 为什么需要进程托管/97
5.2.2 进程优先级/97
5.2.3 进程回收算法/100
5.2.4 进程的强行终止/103
5.2.5 掌控进程的优先级/105
5.3 组件的生命周期模型/106
5.3.1 界面组件的生命周期/107
5.3.2 服务组件的生命周期/115
5.3.3 触发器组件的生命周期/119
5.3.4 数据源组件的生命周期/120
5.3.5 应用环境的生命周期/120
5.4 任务和界面组件栈/120
5.4.1 界面组件的运行模式/122
5.4.2 组件的任务黏度/126
5.4.3 实际应用中的任务控制/127
5.5 小结/128
第6章 组件间的数据传输/129
6.1 利用Intent对象进行数据传输/130
6.1.1 利用Intent对象回传数据/131
6.1.2 利用Intent对象传递数据的优缺点/133
6.2 利用文件进行数据共享/134
6.2.1 利用文件进行数据共享的实现/134
6.2.2 利用文件进行数据共享的优缺点/135
6.3 利用应用环境的全局数据共享/136
6.3.1 利用应用环境对象共享数据的实现/137
6.3.2 利用应用环境对象共享数据的优缺点/138
6.4 利用组件共享数据/139
6.4.1 利用数据源组件共享数据/139
6.4.2 利用服务组件共享数据/140
6.5 小结/140
第7章 Android控件解析/141
7.1 Android的控件框架/142
7.1.1 Android控件构成/142
7.1.2 Android交互事件传输/143
7.1.3 Android控件属性/145
7.1.4 控件的丈量和绘制/150
7.2 Android的窗口机制/150
7.2.1 窗口机制的基本原理/151
7.2.2 界面组件和窗口/152
7.2.3 对话框/154
7.2.4 弹出窗口/156
7.3 Android的基本控件介绍/158
7.3.1 文本控件/159
7.3.2 图像控件/163
7.3.3 Surface控件/164
7.3.4 Layout控件/164
7.3.5 适配器控件/167
7.3.6 选项卡控件/172
7.3.7 浏览器控件/173
7.4 自定义控件/175
7.4.1 控件的定制/175
7.4.2 复合控件/180
7.4.3 自绘控件/183
7.5 Android界面新发展/188
7.5.1 动作栏/188
7.5.2 界面片段/191
7.5.3 重新定制选项卡/197
7.5.4 交互界面的适配/200
7.6 小结/204
第8章 应用资源/205
8.1 Android应用资源体系/206
8.1.1 Android的应用资源构成/206
8.1.2 应用资源的适配/208
8.1.3 应用资源的动态匹配/209
8.2 应用资源的调用/213
8.2.1 应用资源的编译和R类/213
8.2.2 应用资源的管理/215
8.2.3 使用应用资源/216
8.3 应用资源的类型/217
8.3.1 界面和样式/217
8.3.2 字符串和常量/221
8.3.3 图像、图形和动画/223
8.3.4 其他资源文件/225
8.4 小结/225
第9章 数据存储/226
9.1 Android的文件系统/227
9.1.1 Android的目录结构/229
9.1.2 Android的应用数据存储/229
9.1.3 Android的文件操作/231
9.2 使用设置文件/233
9.2.1 设置文件的存储和使用/234
9.2.2 设置界面组件/235
9.3 使用数据库/238
9.3.1 Android数据库实现/238
9.3.2 Android数据库的使用/240
9.4 存储在云端/243
9.4.1 云端存储的架构/244
9.4.2 云端存储的使用/245
9.5 小结/247
第10章 网络通信/248
10.1 Web通信/249
10.1.1 基于HTTP的网络连接/249
10.1.2 联网方式的选择/252
10.1.3 WiFi的管理/254
10.2 蓝牙/256
10.2.1 Android的蓝牙实现/256
10.2.2 基于蓝牙的通信/257
10.3 近场通信/259
10.3.1 基于NFC的识别和通信/259
10.3.2 基于NFC的点对点通信/263
10.4 基于WiFi连接的P2P通信/263
10.4.1 Android 4.0的P2P连接实现/264
10.4.2 使用Socket进行数据传输/266
10.5 小结/268
第11章 地理信息服务/269
11.1 Android的定位服务/270
11.1.1 定位服务框架/270
11.1.2 位置信息源/272
11.1.3 定位选择/273
11.1.4 定位实例/274
11.2 Android的地址服务/277
11.2.1 地址服务的框架/277
11.2.2 使用地址服务/278
11.3 Android的地图服务/279
11.3.1 使用地图/279
11.3.2 其他使用地图服务的方式/282
11.4 小结/283
第12章 多媒体处理/284
12.1 Android的图像处理/285
12.1.1 图像的表示/285
12.1.2 图像的读取和输出/286
12.1.3 图像的呈现/288
12.1.4 图像的管理/290
12.2 Android的音视频处理/291
12.2.1 Android音视频的支持框架/291
12.2.2 Android音视频的播放/292
12.2.3 Android音视频的录制/294
12.3 Android中相机的使用/296
12.4 小结/300
第13章 其他重要模块/301
13.1 通话和短信/302
13.1.1 Android的通话和短信框架/302
13.1.2 通话的处理/303
13.1.3 短信的发送和接收/305
13.2 App Widget的使用和实现/308
13.2.1 Android的App Widget框架/309
13.2.2 App Widget的界面构造和Remote Views /311
13.2.3 App Widget的事件处理和Pending Intent /313
13.3 Android的应用内搜索/317
13.3.1 Android应用内搜索实现框架/317
13.3.2 为应用定制搜索功能/318
13.3.3 全局搜索功能/322
13.4 Android的全局通知机制/323
13.4.1 全局通知的类型和实现/324
13.4.2 Toast的使用/325
13.4.3 状态栏通知/327
13.5 Android联系人处理/331
13.5.1 Android联系人数据存储框架/331
13.5.2 Android联系人操作/332
13.6 小结/334
· · · · · · (收起)
喜欢读"Android开发精要"的人也喜欢的电子书 · · · · · ·
喜欢读"Android开发精要"的人也喜欢 · · · · · ·
Android开发精要的书评 · · · · · · ( 全部 13 条 )
一本可以成为经典的书
这篇书评可能有关键情节透露
一本可以成为经典的书。 缺点如下: 1、7章以后的内容(7-13章)过于打酱油,没深度,到不了《开发精要》的程度;第2章的内容关于源码下载编译的内容似乎不必要,因为基本没有出现源代码; 2、原文出现了不少图示,尤其是流程图,看的出来,是作者画的,但画的极差。说作者... (展开)国内能看的几本Android框架层的书籍之一
> 更多书评 13篇
论坛 · · · · · ·
看见10分的书,进来膜拜下。 | 来自蒲草田 | 2012-08-19 14:27:20 | |
这本书写的实在是太精辟了! | 来自王雨舟 | 2012-08-17 11:29:20 |
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- 杨福川策划的图书 (出版人杨福川)
- 华章-Android开发系列 (何艳)
- Understanding Android Internals (tek-life)
- 【财富自由】Android程序员成长之路 (沉思的Panda)
- Android (杰克穷死)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Android开发精要的评论:
feed: rss 2.0
0 有用 不喜欢吃苹果 2013-10-27 13:49:45
读过,还需要再读几遍才能理解记住
2 有用 游魂 2016-06-06 17:34:47
不错的入门书~
1 有用 出版人杨福川 2012-08-17 15:55:50
绝对的大牛之作!
0 有用 Typedef 2013-01-28 13:31:02
这本书把developer.android.com 上的开发文档更简洁的整理和汇总说明,书名 “开发精要” 也正是说明的书中的内容。 对于像我这类想快速上手的人来说,确实是一本好啊。
0 有用 沉思的Panda 2013-04-18 21:31:24
很棒的一本的,介绍框架和原理很出彩
0 有用 帅哥一枚 2020-02-29 20:34:45
必须点赞
0 有用 宏斌 2019-06-10 18:02:47
买了这本书,但是翻了翻章节目录就卖掉了。讲安卓开发的书就那么多,很多讲的都是重叠的,不是说这本书不好,而是找一本不错的仔细揣摩就够了,毕竟精力有限,贪多必失。其实只要是认真读源码,很多疑难问题都能找到答案。
0 有用 尘中之尘 2019-01-13 00:56:48
翻过下
1 有用 默小泥 2018-03-16 14:28:13
好书,作者带着我们从设计的角度讲述了android
0 有用 flowingtc 2017-09-18 08:29:43
很多基础知识点的再次解读、有很多新的想法。