第1章 初识Android平台 1
1.1 Android平台简介 1
1.1.1 Android发展历史 1
1.1.2平台内涵 3
1.2 Android平台架构 5
1.2.1架构图 5
1.2.2架构内容 6
1.2.3 Android应用程序内容 8
1.3用户界面 10
1.3.1视图结构层次 10
1.3.2布局——设计图 10
1.3.3视图——整体家居 10
1.3.4显示部件——装饰品 11
1.3.5用户界面事件 11
1.3.6界面风格和主题 11
1.3.7数据绑定 12
1.4程序资源和资产 12
1.4.1程序资源和资产概述 12
1.4.2资源类型及内容 12
1.5数据存储 13
1.5.1首选项 13
1.5.2文件 13
1.5.3数据库 13
1.6平台安全和许可 14
1.6.1 Android平台安全结构体系 14
1.6.2应用程序签名 14
1.6.3用户ID和文件存取 14
1.6.4许可 15
第2章Android平台开发之旅 16
2.1搭建系统环境 16
2.2 Android平台SDK 17
2.2.1安装配置Android平台SDK 17
2.2.2 Android SDK内容 17
2.2.3 Android SDK附带工具简介 17
2.3集成开发环境——Eclipse 19
2.4 Android应用程序开发工具 20
2.4.1获取ADT 20
2.4.2安装配置ADT 20
2.5创建Android虚拟设备 20
2.6 Android应用程序开发环境验证 21
2.6.1搭建工程 21
2.6.2运行工程 25
2.7应用程序开发过程 26
2.7.1开发过程回顾 26
2.7.2代码调试技巧 30
2.8新手上路 32
第3章Android应用程序组件 34
3.1应用程序组件 34
3.2 Android应用程序组件 34
3.2.1 Activity组件——形象大使 35
3.2.2服务组件(Service)——老黄牛 39
3.2.3广播接收器组件(Broadcast Receiver)——倾听者 42
3.2.4内容提供者组件(Content Provider)——奉献者 46
3.2.5 Android应用程序组件小结 50
3.3组件应用机制 50
3.3.1组件间的纽带——意向 50
3.3.2组件间的预约——未决意向 56
3.3.3与线程的交互——线程消息队列处理器 57
3.3.4与服务组件的交互——AIDL 59
3.3.5与本地服务组件交互 64
3.3.6客户端与服务端的桥梁——信使 65
3.4 Activity组件关联对象 68
3.4.1资源处理相关 69
3.4.2用户界面框架相关 73
3.4.3内容提供相关 74
3.4.4管理框架相关 75
3.4.5环境信息相关 76
3.4.6数据存储相关 77
3.5 Android应用程序组件小结 81
第4章 用户界面设计 82
4.1 Android平台界面组件结构 82
4.1.1 Android界面组件结构层次 82
4.1.2理解Android界面组件结构层次 82
4.1.3布局的地位 83
4.2界面组件使用模式 84
4.2.1定义界面组件 84
4.2.2生成界面组件资源标识 85
4.2.3组件属性和标识 85
4.2.4引用界面组件 86
4.2.5界面设计器 87
4.3布局组件(Layouts) 87
4.3.1线性布局(Linear Layout) 88
4.3.2相对布局(Relative Layout) 90
4.3.3框布局(Frame Layout) 91
4.3.4表格布局(Table Layout) 92
4.3.5绝对布局(Absolute Layout) 93
4.3.6小结——布局的选择 94
4.4视图组件(Views) 94
4.4.1视图的使用模式 94
4.4.2常用视图 96
4.4.3定制视图 126
4.5小部件(Widgets) 127
4.5.1小部件的使用模式 128
4.5.2常用小部件 128
4.6界面框架 129
4.6.1菜单(Menu)和操作栏(ActionBar ) 129
4.6.2对话框(Dialog) 133
4.6.3消息提示条(Toast) 137
4.6.4片段组件(Fragment) 137
4.6.5拖放操作 145
4.6.6 动画效果 149
4.6.7定制Activity组件 152
第5章 底层用户界面设计 154
5.1 Android底层用户界面 154
5.2底层视图绘制 154
5.2.1表面视图(Surface View) 155
5.2.2底层视图的绘制接口 159
5.3 OpenGL视图绘制 159
5.3.1 OpenGL ES概述 159
5.3.2 Android平台对OpenGL ES的支持 159
5.3.3 OpenGL表面视图 159
5.3.4渲染脚本表面视图 161
5.3.5 Android平台中OpenGL使用说明 166
5.4视频视图(VideoView) 167
第6章 文件管理 168
6.1 Android平台中的文件 168
6.2资源文件和资产文件 168
6.2.1资源文件 168
6.2.2资产文件 170
6.3存储设备文件 171
6.3.1存储设备文件操作 171
6.3.2文件浏览器 172
6.4应用程序文件 177
6.4.1私有文件 178
6.4.2共享首选项文件 179
6.5文件系统监视 181
第7章 数据库应用 184
7.1 Android平台数据库应用概述 184
7.2嵌入式数据库SQLite 185
7.2.1 SQLite数据库介绍 185
7.2.2 Android平台对SQLite数据库的支持 186
7.3 SQLite数据库应用模式 186
7.4内容提供框架 187
7.4.1内容解析端 187
7.4.2内容提供端 190
7.4.3游标加载器应用 193
7.5 SQLite数据库API 195
7.5.1 SQLite数据库应用 195
7.5.2基于SQLite数据库的日记账工具 198
7.6嵌入式对象数据库Db4o 215
7.6.1 Db4o对Android平台的支持 215
7.6.2 Db4o API 215
7.6.3 Db4o数据库应用 216
7.6.4基于Db4o数据库的日记账工具 220
7.7数据库开发小结 225
第8章 网络通信与Web开发 226
8.1 Android平台网络通信 226
8.2 Android平台对网络通信的支持 226
8.3网络连接管理 227
8.3.1连接管理 227
8.3.2 Wi-Fi连接管理 231
8.4网页浏览器 236
8.4.1 WebKit介绍 236
8.4.2 Android平台对WebKit引擎的封装 236
8.4.3网页视图(WebView)应用 237
8.5浏览器信息管理 250
8.5.1浏览书签信息 250
8.5.2搜索历史记录 253
8.5.3下载管理 254
第9章 无线通信 263
9.1无线通信概述 263
9.2短消息通信 263
9.2.1 Android平台对短消息的支持 263
9.2.2发送短消息 263
9.2.3接收短消息 265
9.3蓝牙通信 268
9.3.1 Android平台对蓝牙的支持 268
9.3.2蓝牙通信模式 268
9.3.3蓝牙通信 269
9.4近距离通信(NFC) 277
9.4.1近距离通信概述 277
9.4.2 Android平台对近距离通信的支持 278
9.4.3近距离通信的模式 278
9.4.4标签调度系统 279
9.4.5标签处理 281
第10章 多媒体应用 284
10.1 Android平台对多媒体应用的支持 284
10.2音频回放与录制 285
10.2.1音频回放 285
10.2.2录制音频 292
10.2.3音频管理 299
10.3视频回放与录制 301
10.3.1视频回放(表面视图) 301
10.3.2视频回放(视频视图) 305
10.3.3录制视频(代码控制) 308
10.3.4录制视频(调用系统功能) 315
10.4相机应用 318
10.4.1拍摄照片(代码控制) 318
10.4.2拍摄照片(调用系统功能) 321
10.5媒体信息管理 324
10.5.1 Android平台对媒体信息管理的支持 324
10.5.2应用程序Activity框架 325
10.5.3应用程序配置信息接口 326
10.5.4扫描媒体文件 326
10.5.5获取媒体文件信息 330
10.6音乐盒工具 331
第11章 个人信息管理 340
11.1个人信息管理 340
11.2 Android对个人信息管理的支持 340
11.3 Android平台个人信息管理 341
11.3.1管理工具 341
11.3.2应用程序主Activity框架 341
11.3.3获取联系人信息 343
11.3.4获取电话号码 344
11.3.5获取电子邮箱 346
11.3.6获取公司信息 348
11.4 Android平台个人信息关联 349
11.4.1联系数据库 350
11.4.2联系数据表关联 352
第12章 电话系统管理 353
12.1电话系统概述 353
12.2 Android平台对电话系统的支持 353
12.3电话系统管理 354
12.3.1获取电话信息 354
12.3.2电话状态 358
12.3.3手机网络基站定位 363
12.4拨号及呼叫日志管理 368
12.4.1拨号功能 368
12.4.2日志 369
第13章XML应用 373
13.1 Android平台对XML应用的支持 373
13.2 XML Pull API 373
13.2.1 Android平台对XML Pull API的支持 373
13.2.2 XML Pull API使用模式 373
13.2.3 XML Pull API应用示例 374
13.3 XML资源解析 381
13.3.1应用程序主Activity框架 381
13.3.2解析菜单资源 382
13.3.3解析XML布局资源 383
13.3.4解析XML资源 385
13.3.5解析XML原文件资源 387
13.4 Android平台XML使用小结 389
第14章 地图应用 390
14.1地图概述 390
14.2 Android平台对地图应用的支持 390
14.3地图视图(MapView) 391
14.3.1地图视图组件的定义 391
14.3.2获取地图API使用密钥 392
14.3.3地图应用工程设置 393
14.3.4地图应用程序Activity组件 394
14.3.5引用地图库 394
14.3.6地图使用许可 394
14.4地图应用 394
14.4.1地图Activity组件框架 396
14.4.2获取地图当前位置 398
14.4.3地图视图叠加图管理 399
14.4.4地图API使用小结 401
14.5地图定位 402
14.5.1位置管理 402
14.5.2手机基站定位 405
第15章 系统信息管理 408
15.1系统服务 408
15.1.1 Android系统服务介绍 408
15.1.2 Activity管理 409
15.1.3提醒管理 414
15.1.4剪贴板管理 416
15.1.5通知管理 419
15.1.6传感器管理 421
15.1.7振动管理器 422
15.1.8墙纸管理 423
15.1.9设备管理 424
15.2 Android平台系统信息 427
15.2.1进程管理 428
15.2.2文件系统统计信息 429
15.2.3环境信息 430
15.2.4 时间管理 430
15.2.5系统信息 434
15.2.6电池状态 436
第16章Android资源及SDK工具 439
16.1资源类型及定义 439
16.1.1常量值资源 439
16.1.2绘制用资源 441
16.1.3布局资源 442
16.1.4动画资源 442
16.1.5菜单资源 444
16.1.6文件资源 444
16.1.7备选资源 445
16.2资源的使用模式 447
16.2.1资源ID 447
16.2.2引用资源 447
16.2.3 XML属性 448
16.3系统资源定义 448
16.4 Android SDK工具使用 448
16.4.1 adb工具 448
16.4.2 ddms工具 449
16.4.3 sqlite3工具 450
16.4.4 keytool工具 450
附录 随书源代码说明 451
参考文献 452