一、目录介绍
第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