第1章 Android系统及其开发过程 1
1.1 Android系统概述 1
1.2 安装Android SDK开发环境 2
1.2.1 安装Android SDK前必要的准备 2
1.2.2 安装Android SDK详解 3
1.2.3 设置环境变量 7
1.3 Android API和在线帮助文档 7
1.4 Android应用程序的开发过程 8
1.4.1 开发Android应用程序的一般过程 8
1.4.2 生成Android应用程序框架 9
1.4.3 编写MainActivity.java 10
1.4.4 配置应用程序的运行参数 11
1.4.5 在模拟器中运行应用程序 12
1.5 Android应用程序结构 12
1.5.1 目录结构 12
1.5.2 Android应用程序架构分析 18
1.6 Android应用程序设计示例 19
习题1 21
第2章 Java语法概述 22
2.1 语法基础 22
2.1.1 数据类型 22
2.1.2 常量与变量 23
2.1.3 对变量赋值 24
2.1.4 关键字 24
2.1.5 转义符 24
2.2 基本数据类型应用示例 25
2.2.1 整型与浮点型 25
2.2.2 字符型 27
2.2.3 布尔型 28
2.2.4 数据类型的转换 29
2.3 程序控制语句 30
2.3.1 语句的分类 30
2.3.2 顺序控制语句 31
2.3.3 if语句 32
2.3.4 switch语句 34
2.3.5 循环语句 35
2.3.6 转语句 40
2.4 类与对象 42
2.4.1 类的定义 42
2.4.2 对象 44
2.4.3 接口 46
2.4.4 包 47
2.5 XML语法简介 47
习题2 51
第3章 Android用户界面设计 53
3.1 用户界面组件包widget和View类 53
3.2 文本标签与按钮 54
3.2.1 文本标签 54
3.2.2 按钮 56
3.3 文本编辑框 61
3.4 Android布局管理 64
3.4.1 布局文件的规范与重要属性 64
3.4.2 常见的布局方式 65
3.5 进度条和选项按钮 72
3.5.1 进度条 72
3.5.2 选项按钮 74
3.6 图像显示与画廊组件 80
3.6.1 图像显示ImageView类 80
3.6.2 画廊组件Gallery与图片切换器ImageSwitcher 84
3.7 消息提示 88
3.8 列表组件 91
3.8.1 列表组件ListView类 91
3.8.2 列表组件ListActivity类 94
3.9 滑动抽屉组件 96
习题3 100
第4章 多个用户界面的程序设计 102
4.1 页面切换与传递参数值 102
4.1.1 传递参数组件Intent 102
4.1.2 Activity页面切换 102
4.1.3 应用Intent在Activity页面之间传递数据 106
4.2 菜单 110
4.2.1 选项菜单 110
4.2.2 上下文菜单 112
4.3 对话框 114
4.3.1 消息对话框 114
4.3.2 其他几种常用对话框 120
习题4 123
第5章 异常处理与多线程 124
5.1 异常处理 124
5.2 多线程 126
5.2.1 线程与多线程 126
5.2.2 线程的生命周期 127
5.2.3 线程的数据通信 128
5.2.4 创建线程 130
习题5 137
第6章 图形与多媒体处理 138
6.1 绘制几何图形 138
6.1.1 几何图形绘制类 138
6.1.2 几何图形的绘制过程 139
6.2 触摸屏事件处理 144
6.2.1 简单触摸屏事件 144
6.2.2 手势识别事件 150
6.3 音频播放 153
6.3.1 多媒体处理包 153
6.3.2 媒体处理播放器 154
6.3.3 播放音频文件 155
6.4 视频播放 161
6.4.1 应用媒体播放器播放视频 161
6.4.2 应用视频视图播放视频 164
6.5 录音与拍照 166
6.5.1 用于录音、录像的MediaRecorder类 166
6.5.2 录音示例 167
6.5.3 拍照 170
6.6 将文本转换成语音 176
6.7 图像处理技术 178
6.7.1 处理图像的颜色矩阵 178
6.7.2 处理图像的坐标变换矩阵 184
习题6 192
第7章 后台服务与系统服务技术 193
7.1 后台服务Service 193
7.2 信息广播机制Broadcast 197
7.3 系统服务 206
7.3.1 Android的系统服务 206
7.3.2 系统通知服务Notification 206
7.3.3 系统定时服务AlarmManager 209
7.3.4 系统功能的调用 212
习题7 215
第8章 数据存储 216
8.1 SQLite数据库 216
8.1.1 SQLite数据库简介 216
8.1.2 管理和操作SQLite数据库的对象 217
8.1.3 SQLite数据库的操作命令 218
8.2 文件处理 230
8.2.1 输入流和输出流 230
8.2.2 处理文件流 231
8.3 轻量级存储SharedPreferences 237
习题8 240
第9章 网络通信 241
9.1 网络编程的基础知识 241
9.1.1 IP地址和端口号 241
9.1.2 套接字 244
9.2 基于TCP的网络程序设计 246
9.3 基于HTTP的网络程序设计 251
9.4 Web视图 255
9.4.1 浏览器引擎WebKit 255
9.4.2 Web视图对象 255
9.4.3 调用JavaScript 258
9.5 无线网络通信技术WiFi 266
习题9 272
第10章 地图服务及传感器检测技术 273
10.1 Google地图 273
10.1.1 Google Maps包 273
10.1.2 导入Google地图API的Maps包 274
10.1.3 显示地图MapView类 274
10.1.4 添加Google地图的贴图 279
10.2 位置服务 282
10.3 传感器检测技术 286
10.3.1 传感器简介 286
10.3.2 加速度传感器的应用示例 289
习题10 297
附录A JavaSDK及Eclipse的安装与配置 298
附录B Android的调试工具 300
附录C Map API Key的申请过程 303