第1章 创建一个Android项目 1
1.1 开发前的准备 1
1.1.1 学习目标 1
1.1.2 相关知识 1
1.1.3 项目任务——项目环境搭建 5
1.2 创建一个项目 9
1.2.1 学习目标 9
1.2.2 项目任务——创建推箱子游戏 9
1.3 项目的运行与调试 12
1.3.1 学习目标 13
1.3.2 相关知识 13
1.3.3 项目任务——游戏的运行与调试 16
小结 18
习题 18
第2章 为项目添加界面 19
2.1 界面布局方式的使用 19
2.1.1 学习目标 19
2.1.2 相关知识 19
2.1.3 项目任务——构建游戏界面布局 39
2.2 界面交互处理 41
2.2.1 学习目标 42
2.2.2 相关知识 42
2.2.3 项目任务——实现游戏界面交互 57
2.3 常用界面组件 59
2.3.1 学习目标 59
2.3.2 相关知识 59
2.3.3 项目任务——设置游戏界面组件 67
2.4 Menu的使用 69
2.4.1 学习目标 69
2.4.2 相关知识 69
2.4.3 项目任务——给游戏添加Menu 76
2.5 AlterDialog的使用 79
2.5.1 学习目标 80
2.5.2 相关知识 80
2.5.3 项目任务——在游戏中应用AlterDialog 88
小结 89
习题 90
第3章 增加项目组件 91
3.1 活动组件介绍 91
3.1.1 学习目标 91
3.1.2 相关知识 91
3.1.3 项目任务——给游戏添加新的活动类 99
3.2 Intent介绍 103
3.2.1 学习目标 103
3.2.2 相关知识 104
3.2.3 项目任务——实现游戏界面之间的跳转 113
3.3 在游戏中使用服务 113
3.3.1 学习目标 114
3.3.2 相关知识 114
3.3.3 项目任务——在游戏中使用服务类 118
3.4 BroadcastReceiver介绍 122
3.4.1 学习目标 122
3.4.2 相关知识 122
3.4.3 项目任务——BroadcastReceiver应用(*) 134
小结 136
习题 136
第4章 在项目中使用多媒体 137
4.1 自定义视图应用 137
4.1.1 学习目标 137
4.1.2 相关知识 137
4.1.3 项目任务——建立游戏主界面 142
4.2 2D图形的使用 148
4.2.1 学习目标 148
4.2.2 相关知识 148
4.2.3 项目任务——完成游戏主界面的游戏功能 154
4.3 在项目中使用音频 163
4.3.1 学习目标 163
4.3.2 相关知识 163
4.3.3 项目任务——在游戏中添加背景音乐 164
4.4 视频的使用 166
4.4.1 学习目标 167
4.4.2 相关知识 167
4.4.3 项目任务——在游戏中使用视频(*) 171
小结 175
习题 176
第5章 项目中的数据存储 177
5.1 内部存储 177
5.1.1 学习目标 177
5.1.2 相关知识 177
5.1.3 项目任务——使用内存存储数据 178
5.2 外部存储 182
5.2.1 学习目标 183
5.2.2 相关知识 183
5.2.3 项目任务——使用SDCard存储数据(*) 185
5.3 SharedPreference 190
5.3.1 学习目标 190
5.3.2 相关知识 190
5.3.3 项目任务——存储游戏数据 194
5.4 网络存储 199
5.4.1 学习目标 199
5.4.2 相关知识 199
5.4.3 项目任务——在项目中使用网络存储 200
5.5 SQLite 204
5.5.1 学习目标 204
5.5.2 相关知识 204
5.5.3 项目任务——在项目中使用SQLite(*) 210
5.6 ContentProvide 218
5.6.1 学习目标 218
5.6.2 相关知识 218
5.6.3 项目任务——使用内容提供者在项目间共享数据 220
小结 223
习题 223
第6章 网络服务 224
6.1 Socket网络通信 224
6.1.1 学习目标 224
6.1.2 相关知识 224
6.1.3 项目任务——建立Socket通信应用(*) 228
6.2 通过HTTP获取网络资源 237
6.2.1 学习目标 237
6.2.2 相关知识 238
6.2.3 项目任务——获取网站内容 239
6.3 浏览网页 244
6.3.1 学习目标 244
6.3.2 相关知识 244
6.3.3 项目任务——浏览网站内容 249
小结 251
习题 252
第7章 项目的改进 253
7.1 多语言支持 253
7.1.1 学习目标 253
7.1.2 相关知识 253
7.1.3 项目任务——给游戏添加多语言支持 255
7.2 多终端支持 259
7.2.1 学习目标 259
7.2.2 相关知识 259
7.2.3 项目任务——让游戏支持不同手机终端 270
小结 273
习题 273
第8章 项目的打包与发布 274
8.1 项目的签名与打包 274
8.1.1 学习目标 274
8.1.2 相关知识 274
8.1.3 项目任务——给推箱子签名 278
8.2 发布游戏 278
8.2.1 学习目标 278
8.2.2 相关知识 278
8.2.3 项目任务——发布推箱子游戏 281
小结 281
习题 281
第9章 项目的高级应用 282
9.1 传感器的使用 282
9.1.1 学习目标 282
9.1.2 相关知识 282
9.1.3 项目任务——使用传感器(*) 287
9.2 地图应用 291
9.2.1 学习目标 291
9.2.2 相关知识 291
9.2.3 项目任务——百度地图的应用(*) 309
小结 312
习题 312