第1章 深入解析Android核心组件和应用框架 1
1.1 核心组件详解 1
1.1.1 Activity组件 1
1.1.2 Service组件 19
1.1.3 Intent组件 25
1.1.4 BroadcastReceiver组件 31
1.2 应用框架解析 31
1.2.1 Service框架 32
1.2.2 Activity管理机制 38
1.2.3 Broadcast机制 41
1.2.4 对话框框架 42
1.2.5 标题栏框架 46
1.2.6 状态栏框架 48
1.2.7 通知机制 52
1.2.8 搜索框架 56
1.2.9 ActionBar框架 59
第2章 Android资源框架详解 64
2.1 布局文件 64
2.2 值文件 67
2.3 创建菜单 75
2.3.1 选项菜单 75
2.3.2 上下文菜单 77
2.3.3 子菜单 79
2.3.4 弹出菜单 80
2.4 断言的处理 81
2.5 Jar包和共享库 83
2.6 系统资源 84
第3章 Android UI控件精要 89
3.1 布局控件 89
3.1.1 LinearLayout 89
3.1.2 RelativeLayout 92
3.1.3 TableLayout 93
3.1.4 FrameLayout 94
3.2 显示控件 97
3.2.1 TextView 97
3.2.2 ProgressBar 99
3.2.3 WebView 100
3.2.4 ViewSwitcher 101
3.2.5 TextSwitcher 102
3.2.6 ViewFlipper 103
3.2.7 SeekBar 104
3.2.8 ViewStub 106
3.3 容器控件 106
3.3.1 SlidingDrawer 106
3.3.2 ListView 107
3.3.3 ExpandableListView 111
3.3.4 GridView 112
3.3.5 ScrollView 113
3.3.6 TabHost 114
3.4 输入控件 114
3.4.1 EditText 114
3.4.2 Spinner 116
3.4.3 AutoCompleteTextView 117
3.5 控制控件 118
3.5.1 Button 118
3.5.2 CheckBox 119
3.5.3 RadioButton 119
3.5.4 RatingBar 120
3.5.5 ZoomControl s 121
3.6 多媒体控件 122
3.6.1 ImageView 122
3.6.2 ImageSwitcher 122
3.7 特殊控件 125
3.8 桌面部件 126
3.8.1 App Widgets的实现 126
3.8.2 Live folders的实现 128
3.9 自定义控件 129
3.10 数据适配 130
3.10.1 视图适配 130
3.10.2 标准化解析 133
3.11 Fragment 135
3.11.1 Fragment生命周期 135
3.11.2 ListFragment 137
3.11.3 DialogFragment 137
3.11.4 PreferenceFragment 138
3.11.5 WebViewFragment 138
第4章 深入解析Android数据存储与管理 139
4.1 XML文件管理 139
4.2 内部文件管理 140
4.2.1 写入数据 141
4.2.2 读取数据 141
4.3 外部文件管理 142
4.4 数据库管理 143
4.4.1 Android封装接口 144
4.4.2 原生方法处理 145
4.5 数据处理 145
4.5.1 Set类 146
4.5.2 Map类 148
4.5.3 list类 150
4.5.4 流类 150
4.5.5 正则表达式 153
4.5.6 I/O管理 153
4.5.7 JSON实现 155
第5章 深入解析Android通信机制 159
5.1 Intent通信 159
5.1.1 Intent的常见用法 159
5.1.2 Serializable接口 165
5.1.3 Parcelable接口 165
5.2 UI事件处理 166
5.2.1 事件监听器、事件句柄及焦点处理 167
5.2.2 触控事件处理 168
5.2.3 按键事件处理 170
5.2.4 轨迹球事件处理 171
5.3 任务调度 172
第6章 深入解析Android多线程编程 174
6.1 Java线程实现 174
6.2 Android线程封装 177
6.3 线程间的消息通信 180
6.3.1 消息队列 181
6.3.2 消息分发 183
6.3.3 消息接收 183
6.4 线程安全处理 184
6.4.1 synchronized同步 184
6.4.2 RPC通信 186
6.4.3 SQLite调用 186
第7章 深入解析Android网络编程 187
7.1 无线接入技术概述 187
7.2 基础协议封装 190
7.3 Java网络编程接口 194
7.4 Apache网络编程接口 195
7.5 Android网络编程接口 196
7.6 Web服务实现 199
7.6.1 Web服务概述 199
7.6.2 KSOAP2的实现 199
7.7 XML解析器 200
7.7.1 Pull解析器 201
7.7.2 DOM解析器 202
7.7.3 SAX解析器 203
7.8 套接字编程 203
7.9 Web应用实现 205
7.10 SIP服务 212
7.11 NFC通信 214
7.12 RIL层处理 216
7.13 报文分析 220
第8章 Android图形、图像与动画精要 222
8.1 2D图像处理 222
8.1.1 基本接口 222
8.1.2 缩略图 228
8.1.3 图像浏览 228
8.1.4 人脸检测 230
8.2 3D图像处理 233
8.2.1 OpenGL ES的实现 233
8.2.2 RenderScript的实现 236
8.3 图形处理 239
8.3.1 基本接口 239
8.3.2 Surface渲染系统 244
8.4 动画处理 247
8.4.1 补间动画 248
8.4.2 帧动画 249
8.4.3 属性动画 250
第9章 深入解析Android多媒体编程 257
9.1 音频处理 257
9.1.1 音频播放 258
9.1.2 音频录制 264
9.1.3 音频管理 265
9.1.4 音效处理 267
9.2 视频处理 269
9.2.1 视频播放 270
9.2.2 视频录制 273
9.3 Camera服务 274
9.4 TTS的实现 276
第10章 Android跨语言调用详解 279
10.1 C语言与汇编语言的相互调用 279
10.2 C++与C语言的相互调用 280
10.3 Java对C/C++的调用 282
10.4 C/C++对Java的调用 287
第11章 Android安全框架解析 292
11.1 Java混淆器 293
11.2 接入权限 294
11.2.1 创建接入权限 294
11.2.2 应用权限 294
11.2.3 权限验证 296
11.2.4 接入服务 297
11.2.5 框架层接入限制 298
11.3 数字证书 298
第12章 Android的调试、测试与性能优化 300
12.1 Android调试 300
12.1.1 Logcat日志调试 300
12.1.2 dmtracedump跟踪 300
12.1.3 Dev Tools调试 301
12.1.4 屏幕截图分析 301
12.1.5 内存调试 302
12.2 Android布局优化 305
12.2.1 Layoutopt优化 305
12.2.2 Hierarchyviewer优化 306
12.3 Android测试 307
12.3.1 Monkey压力测试 307
12.3.2 JUnit回归测试 308
12.3.3 CTS兼容性测试 312
12.3.4 目标环境测试 313
12.4 Android性能优化 314
12.4.1 优化资源读取 314
12.4.2 优化APK加载 315
12.4.3 Dalvik虚拟机 315
12.4.4 TraceView性能分析 315
12.4.5 运行效率的优化 317
第13章 深入解析Android编译系统 318
13.1 源代码编译 318
13.1.1 映像文件 318
13.1.2 编译方法 319
13.1.3 主要脚本 322
13.1.4 环境变量 332
13.1.5 目标环境 333
13.2 SDK编译 333
13.2.1 Linux下的SDK编译 334
13.2.2 Windows下的SDK编译 334
13.2.3 ADT插件的编译 334
13.3 NDK编译 335
13.3.1 编译脚本 336
13.3.2 配置脚本 337
13.3.3 GDB调试 340
13.3.4 NativeActivity实现 340
13.4 应用程序编译 342
13.4.1 本地环境变量 342
13.4.2 在Eclipse下编译 343
13.5 目标系统配置 343
13.5.1 自定义模拟器配置 343
13.5.2 目标板配置 348
13.5.3 目标环境配置 350
13.6 文件系统配置 350
13.7 编译工具 350
13.8 fastboot模式 352
第14章 Android启动过程详解 353
14.1 系统的启动过程 353
14.1.1 系统属性配置 354
14.1.2 文件系统挂载 355
14.1.3 守护进程启动 356
14.2 应用的启动过程 362
14.2.1 应用的启动配置 362
14.2.2 应用的启动过程 364
第15章 深入解析Android系统管理 369
15.1 内存管理 369
15.1.1 对象引用 369
15.1.2 垃圾回收策略 370
15.2 应用管理 373
15.2.1 应用的配置 373
15.2.2 应用的启动 374
15.2.3 应用的销毁 375
15.3 电源管理 376
15.3.1 电源管理框架 376
15.3.2 应用层策略 379
15.4 下载管理 380
15.4.1 Gingerbread前的下载 380
15.4.2 Gingerbread后的下载 382
15.5 系统配置 383
15.5.1 系统数据库 383
15.5.2 系统属性 385
15.6 数据管理 386
15.6.1 数据备份 386
15.6.2 剪切板管理 387
15.7 设备管理 388
15.7.1 管理工具 388
15.7.2 传感器管理 395
15.7.3 USB管理 398
15.8 应用发布 399
15.8.1 应用商店概述 399
15.8.2 目标环境的适配 401
15.8.3 发布应用 410
附录A Android开发环境搭建 413
附录B 常用Linux命令 436
附录C 编码规范 441
附录D 学习资源 447
参考文献 451