标题：Android平台开发之旅
图书信息
  书 名:   Android平台开发之旅
作　者：汪永松
出版社： 机械工业出版社 　　
出版时间： 2010年6月1日 　　
ISBN: 9787111312949　
开本： 16开 　　
定价: 60.00元
内容简介
本书涵盖了Android平台1.5到2.2版本的主要功能特性，立足实际的开发案例，介绍了Android手机平台开发的基础概念、实用技术和应用模式。主要内容包括：平台基础、开发环境搭建、程序框架、高级界面和底层界面设计、文件系统管理、网络通信、无线通信、多媒体编程、个人信息管理、电话系统、数据库应用、XML应用和地图应用。开发实例多达120例。本书主要面向具有一定移动平台开发经验的开发人员，以及有兴趣进行Android平台开发的程序员。
前言
作者在刚接触Android的时候，感觉就像推开了一扇窗，与Android有关的信息、技术、概念纷至沓来，让人目不暇接。不可否认，无论是Android手机产品的定位还是其开源项目的技术背景，都使它成为业界瞩目的焦点。Android手机的横空出世，打乱了移动平台的格局；而Android项目的开源举措，更是人心所向。这些因素毫无疑问地让Android成为移动平台开发者最看好的黑马。但随着作者对Android平台认识的逐步深入，令作者震撼的不再是其表面的新奇，而是那些支撑平台蓬勃发展、来自各个领域的专业应用。在图形方面，有工业级的OpenGL ES库；在输入法方面，有应用广泛的FreeType引擎；在网络方面，除了纳入Bouncy Castle提供的SSL算法和Apache提供的HTTP开发库，还把WebKit项目内核作为系统浏览器引擎；在数据管理方面融入了SQLite数据库；在XML应用方面引入了XML Pull API；在集成应用方面植入了地图应用。以上这些项目或标准，都在各个领域中得到广泛应用，而Android平台能把这些“习性各异”的先进技术融汇到一起，并进行协同作业，这才真正是该平台博大精深的地方。本书的特色作者认为本书有三个鲜明的特色。第一点：内容全面，讲解细透。本书中的内容涵盖了Android 1.5到2.2版本主要的功能特性，除了结合其他技术透彻地讲解平台中功能的渊源和关联，还对部分变迁之后的功能进行了对比介绍，切实让读者能够结合自己的知识来理解平台中的功能，无论平台如何升级都能感受到“万变不离其宗”的技术本质。第二点：案例丰富，易于动手。本书分为17章，开发实例多达120例。这些开发实例都是经过作者亲自进行审定和调试的，其内容不仅与章节的内容紧密相扣，而且还能方便地用于实际演练，从而激发读者的学习热情和巩固对相关知识的理解。第三点：结构合理，深浅适度。本书内容的编排遵循“由表及里，由内而外”的形式，从功能使用到应用机制，从高级界面到底层界面，从内部存储到外部通信。在对专题的介绍中，作者结合自己的理解，采用“步步为营”的方式引导读者从了解功能到应用联想，让读者逐步形成自己的认识，再借助详细的开发实例来加深理解。本书章节内容本书前三章简要介绍了Android平台、开发环境以及Andriod应用程序组件。第4章重点介绍了架构中比较常见、重要的界面元素，并通过众多实例让读者能够迅速地在Android平台搭建如心所愿的界面效果。第5章介绍了一些用于底层用户界面控制的组件及其使用方式。第6章对Android平台中的文件访问类型进行了详细的说明，从系统和应用程序的角度介绍了对文件系统进行访问的过程。第7章对Android平台支持的多种网络通信机制进行了详细的介绍。还介绍了网页浏览器的开发技术和实际的开发案例。第8章对Android平台支持的短消息通信、蓝牙通信以及Wi-Fi网络连接管理等无线通信方式进行了详细的介绍。第9章对Android平台提供的多媒体应用方式进行了实例说明。第10章介绍了Android支持的个人信息管理内容，通过实际的开发案例，讲解了如何获取联系人信息、电话号码、公司信息等与个人有关的内容。并结合调整前后的Android平台的不同版本（1.5和2.1），以对比的方式介绍不同版本对个人信息管理的支持方式的改变。第11章介绍了Android平台提供的电话信息系统管理功能。还介绍了如何获取呼叫日志信息。第12章对Android平台支持的数据库类型进行了详细介绍，主要内容包括：SQLite数据库、JDBC API和Db4o数据库。第13章对Android平台支持的XML应用方式进行了全面说明，主要内容包括：SAX解析方式、DOM解析方式、XML Pull API以及资源解析过程分析。第14章对Android平台提供的地图API的功能进行了详细的阐述，并通过开发实例详细介绍了如何控制地图以及添加地图叠加图等常用功能，同时还对地图视图的使用模式和缩放控制进行了小结。第15章对Android平台提供的系统信息管理接口进行了全面介绍。第16章对Android平台支持的资源类型及其定义、资源的使用模式、系统资源定义进行了全面介绍。还对Android SDK附带工具的常用方式进行了详细说明。第 17 章对Android平台中常用视图组件的属性以及应用程序的使用许可进行了全面介绍。附录对随书源代码的使用进行了说明。本书中的一些约定注意：提醒读者应该重视的内容。提示：是对读者有所帮助的一些技巧。
目录
出版说明
前言
第1章 初识Android平台 1
1.1 Android平台简介 1
1.1.1 Android发展历史 1
1.1.2 平台内涵 2
1.2 Android平台架构 4
1.2.1 架构图 4
1.2.2 架构内容 5
1.2.3 Android应用程序内容 6
1.3 用户界面 8
1.3.1 视图层次结构 8
1.3.2 布局—设计图 8
1.3.3 视图—整体家居 9
1.3.4 显示部件—装饰品 9
1.3.5 用户界面事件 9
1.3.6 界面风格和主题 10
1.3.7 数据绑定 10
1.4 程序资源和资产 10
1.4.1 程序资源和资产概述 11
1.4.2 资源类型及内容 11
1.5 数据存储 11
1.5.1 首选项 12
1.5.2 文件 12
1.5.3 数据库 12
1.6 平台安全和许可 12
1.6.1 Android平台安全结构体系 12
1.6.2 应用程序签名 13
1.6.3 用户ID和文件存取 13
1.6.4 许可 13
第2章 踏上Android平台开发
之旅 15
2.1 搭建系统环境 15
2.1.1 安装配置J2SE开发环境 15
2.2 Android平台SDK 17
2.2.1 安装配置Android平台SDK 17
2.2.2 Android SDK内容介绍 17
2.2.3 Android SDK附带工具介绍 19
2.3 集成开发环境—Eclipse 21
2.4 应用程序调试工具插件—
ADT 22
2.4.1 获取ADT 22
2.4.2 安装配置ADT 22
2.5 验证开发环境 23
2.5.1 创建虚拟设备 23
2.5.2 建立FirstActivity工程 24
2.5.3 运行和调试 31
2.6 应用程序的开发过程 37
2.6.1 开发流程回顾 37
2.6.2 新手上路遇到的常见问题 38
第3章 Android应用程序组件 41
3.1 应用程序组件 41
3.2 Android应用程序组件 41
3.2.1 Activity（活动）—形象大使 42
3.2.2 Service（服务）—老黄牛 47
3.2.3 BroadcastReceiver（广播接收器）
—倾听者 50
3.2.4 ContentProvider
（内容提供者） 53
3.2.5 Android应用程序组件小结 58
3.3 组件应用机制 58
3.3.1 组件与组件间的交互机制 58
3.3.2 未决意向对象 65
3.3.3 组件与线程间的交互机制 66
3.3.4 组件与服务间的交互机制 68
3.4 Android平台应用程序组件
小结 73
第4章 高级用户界面设计 75
4.1 Android平台UI组件架构探讨 75
4.1.1 Android平台UI组件结构层次 75
4.1.2 Android UI组件结构层次质疑 76
4.1.3 参考J2SE平台的组件结构
层次 76
4.1.4 容器与组件的关系 76
4.1.5 布局的角色 76
4.2 UI组件的定义 77
4.3 UI组件的引用 78
4.4 组件属性和ID 79
4.5 布局组件（Layouts） 80
4.5.1 线性布局（LinearLayout） 81
4.5.2 相对布局（RelativeLayout） 84
4.5.3 绝对布局（AbsoluteLayout） 86
4.5.4 框布局（FrameLayout） 87
4.5.5 表格布局（TableLayout） 89
4.5.6 布局的选择 91
4.6 视图组件（Views） 91
4.6.1 视图的使用模式 92
4.6.2 常用视图 94
4.6.3 定制视图 120
4.7 小部件（Widgets） 122
4.7.1 小部件的使用模式 122
4.7.2 文本部件 123
4.7.3 按钮部件 126
4.7.4 图片显示组件 131
4.7.5 滑动条 133
4.7.6 选取组件 134
4.7.7 高级小部件 135
4.8 菜单 138
4.8.1 选项菜单 138
4.8.2 上下文菜单 140
4.9 对话框 141
4.9.1 对话框的使用方式 142
4.9.2 对话框的定义 143
4.10 消息提示条（Toast） 148
4.11 定制Activity 149
4.11.1 列表Activity（List Activity） 149
4.11.2 扩展列表Activity
（ExpandableListActivity） 149
4.11.3 标签页Activity
（Tab Activity） 149
4.11.4 地图Activity
（MapActivity） 150
4.12 用户界面开发问题 150
4.12.1 ANR异常 150
4.12.2 界面组件与线程的交互 150
第5章 底层用户界面设计 153
5.1 Android底层用户界面 153
5.2 底层视图绘制 154
5.2.1 表面视图类（Surface View） 154
5.2.2 底层视图的绘制接口 159
5.3 OpenGL视图绘制 160
5.3.1 OpenGL ES概述 160
5.3.2 Android平台对OpenGL ES的
支持 160
5.3.3 OpenGL表面视图的使用模式 161
5.3.4 Android平台中OpenGL使用
说明 163
5.4 视频视图（VideoView） 163
第6章 文件系统管理 164
6.1 Android平台中的文件 164
6.2 原文件资源 164
6.2.1 准备原文件资源 165
6.2.2 使用原文件资源 165
6.3 文件系统 166
6.3.1 Android平台文件系统介绍 167
6.3.2 文件系统操作 168
6.3.3 文件浏览器 172
6.4 应用程序文件 181
6.4.1 程序私有文件 181
6.4.2 程序首选项文件 184
6.5 文件系统监视 185
第7章 网络通信 191
7.1 Android平台网络通信 191
7.2 Android平台对网络通信的
支持 191
7.3 流式套接字通信 192
7.3.1 界面布局定义 193
7.3.2 Activity定义框架 193
7.3.3 套接字服务端 195
7.3.4 套接字客户端 201
7.3.5 流式套接字通信说明 206
7.4 数据报（套接字）通信 206
7.4.1 数据报通信程序界面 206
7.4.2 Activity定义框架 206
7.4.3 数据报服务端 208
7.4.4 数据报工具类 210
7.4.5 数据报通信配置 211
7.4.6 数据报客户端 211
7.4.7 数据报套接字通信说明 215
7.5 HTTP通信 215
7.5.1 套接字方式 215
7.5.2 URL连接方式 218
7.5.3 Apache HTTP API 220
7.6 HTTPS 222
7.7 SSL通信 224
7.7.1 SSL通信模式 224
7.7.2 SSL服务端 225
7.7.3 SSL客户端 230
7.8 浏览器 234
7.8.1 WebKit介绍 235
7.8.2 Android平台对WebKit引擎的
封装 235
7.8.3 网页视图（WebView） 235
7.8.4 浏览器开发实例 237
7.8.5 浏览器书签信息管理 249
7.8.6 浏览器搜索记录 251
第8章 无线通信 254
8.1 无线通信概述 254
8.2 短消息 254
8.2.1 Android平台对短消息的支持 254
8.2.2 发送短消息 255
8.2.3 查看短消息 258
8.2.4 接收短消息 260
8.3 蓝牙通信 265
8.3.1 Android平台对蓝牙的支持 265
8.3.2 蓝牙通信模式 266
8.3.3 蓝牙通信实例 266
8.4 Wi-Fi网络连接管理 276
8.4.1 Wi-Fi介绍 276
8.4.2 Android平台对Wi-Fi的支持 277
8.4.3 Wi-Fi连接管理 277
第9章 多媒体应用 281
9.1 Android平台对多媒体的支持 281
9.2 音频播放应用 282
9.2.1 音乐播放器 282
9.2.2 播放Jet文件 284
9.2.3 录音 285
9.3 视频播放应用 286
9.4 摄像头视频采集 292
9.5 照相机 293
9.5.1 照片服务接口 293
9.5.2 照片预览 293
9.5.3 照片拍摄 294
9.5.4 停止使用照相机 294
9.6 流媒体 294
9.7 媒体扫描和媒体库 294
9.7.1 媒体文件的扫描 294
9.7.2 获取媒体文件信息 295
9.8 音乐盒工具 297
第10章 个人信息管理 307
10.1 个人信息管理 307
10.2 Android对个人信息管理的
支持 307
10.3 联系信息 308
10.4 联系人信息 309
10.5 电话号码信息 311
10.6 组织（公司）信息 313
第11章 电话信息系统管理 316
11.1 电话信息系统 316
11.2 Android平台对电话信息
系统的支持 317
11.3 电话信息 317
11.4 电话状态 320
11.5 电话拨号 325
11.6 呼叫日志 326
11.7 使用许可 328
第12章 数据库应用 329
12.1 SQLite数据库 329
12.1.1 SQLite数据库介绍 329
12.1.2 Android平台对SQLite
数据库的支持 330
12.1.3 SQLite数据库应用模式 330
12.1.4 开发实例 332
12.1.5 基于SQLite的日记账工具 342
12.2 JDBC API 361
12.2.1 Android平台对JDBC API的
支持 362
12.2.2 JDBC API应用模式 362
12.2.3 开发实例 367
12.3 对象数据库Db4o 376
12.3.1 Db4o对Android平台的支持 375
12.3.2 Db4o API 375
12.3.3 Db4o数据库应用 376
12.3.4 基于Db4o的日记账工具 382
12.4 数据库开发总结 389
第13章 XML应用 390
13.1 Android平台对XML应用的
支持 390
13.2 SAX解析方式 390
13.2.1 SAX使用模式 390
13.2.2 Android平台中对SAX的
支持 391
13.2.3 SAX应用实例 391
13.3 DOM解析方式 401
13.3.1 DOM使用模式 402
13.3.2 Android平台中对DOM的
支持 402
13.3.3 DOM应用实例 403
13.4 XML Pull API 412
13.4.1 XML Pull API使用模式 412
13.4.2 Android平台中对XML 
Pull API的支持 412
13.4.3 XML Pull API应用实例 413
13.5 XML资源解析 416
13.5.1 解析XML布局资源 417
13.5.2 解析XML原文件资源 418
13.5.3 解析XML资源 420
13.6 Android平台XML使用小结 423
第14章 地图应用 424
14.1 地图应用概述 424
14.2 Android平台对地图应用的
支持 425
14.3 地图视图（MapView）应用 425
14.3.1 地图视图组件的定义 426
14.3.2 获取地图API使用密钥 426
14.3.3 工程设置 428
14.3.4 Activity组件框架 428
14.3.5 地图API库设置 429
14.3.6 地图API使用许可 429
14.4 地图API应用 429
14.4.1 界面布局定义 430
14.4.2 地图Activity组件框架 430
14.4.3 获取地图当前位置 433
14.4.4 地图叠加图管理 434
14.4.5 地图API使用小结 436
第15章 系统信息管理 438
15.1 系统服务 438
15.1.1 Android系统服务介绍 438
15.1.2 Activity管理 439
15.1.3 警报管理 443
15.1.4 音频管理 446
15.1.5 剪贴板管理 448
15.1.6 连接管理 449
15.1.7 输入法管理 453
15.1.8 键盘守护 454
15.1.9 通报管理 454
15.1.10 布局填充 456
15.1.11 位置服务管理 458
15.1.12 电源管理 459
15.1.13 搜索服务 460
15.1.14 传感器管理 461
15.1.15 电话管理 462
15.1.16 振动器管理 463
15.1.17 Wi-Fi管理 463
15.1.18 墙纸管理 464
15.1.19 窗口管理 464
15.2 Android平台系统信息 465
15.2.1 进程管理 465
15.2.2 文件系统信息 467
15.2.3 环境变量 467
15.2.4 系统时间管理 469
15.2.5 构建信息 473
15.2.6 电池状态 475
15.2.7 系统设置 477
15.2.8 安全设置 478
第16章 Android资源及SDK
工具 480
16.1 资源类型及定义 480
16.1.1 常量值资源 480
16.1.2 绘制用资源 490
16.1.3 布局资源 491
16.1.4 动画资源 493
16.1.5 菜单资源 496
16.1.6 文件资源 498
16.1.7 备选资源 500
16.2 资源的使用模式 501
16.2.1 资源ID 502
16.2.2 资源引用 502
16.2.3 资源属性 502
16.3 系统资源定义 503
16.4 Android SDK工具使用 503
16.4.1 adb工具 503
16.4.2 sqlite3工具 504
16.4.3 keytool工具 504
第17章 Android组件属性及
使用许可 505
17.1 Android常用视图组件属性 505
17.1.1 视图（View） 505
17.1.2 线性布局（LinearLayout） 507
17.1.3 线性布局参数（LinearLayout_
Layout） 507
17.1.4 相对布局（RelativeLayout） 507
17.1.5 相对布局参数
（RelativeLayout_Layout） 508
17.1.6 绝对布局参数
（AbsoluteLayout_Layout） 508
17.1.7 框布局（FrameLayout） 509
17.1.8 框布局参数（FrameLayout_
Layout） 509
17.1.9 表格布局（TableLayout） 509
17.1.10 表格行的单元（TableRow_
Cell） 509
17.1.11 抽象列表视图组件
（AbsListView） 509
17.1.12 列表视图组件（ListView） 510
17.1.13 格子视图组件（GridView） 510
17.1.14 画廊视图组件（Gallery） 510
17.1.15 文本组件（TextView） 511
17.1.16 提示输入文本框
（AutoCompleteTextView） 512
17.1.17 图片视图（ImageView） 513
17.2 应用程序使用许可
（Uses-permissions） 513
17.2.1 使用许可的声明 513
17.2.2 Android平台使用许可列表 514
附录 随书源代码说明 517
参考文献 518