任务1 搭建开发环境 1
1.1 任务实现 1
1.1.1 下载与配置Android SDK 1
1.1.2 创建Android Vitural Device 2
1.2 必备知识 4
1.2.1 Android及其架构 4
1.2.2 Android Virtual Device简介 7
1.2.3 开发前的准备 9
1.3 能力拓展 11
1.3.1 adb及其指令 11
1.3.2 Eclipse对Android开发的支持 12
1.4 项目实践 15
任务2 创建文件管理器项目 16
2.1 任务实现 16
2.1.1 文件管理器需求分析 16
2.1.2 创建项目 16
2.1.3 创建应用资源 18
2.2 必备知识 21
2.2.1 项目架构解析 21
2.2.2 使用Activity设计用户界面 28
2.2.3 应用程序资源 37
2.3 能力拓展 41
2.3.1 Activity栈与任务 41
2.3.2 ActivityManager与PackageManager 46
2.3.3 Android库项目管理 49
2.4 项目实践 51
任务3 设计用户界面 52
3.1 任务实现 52
3.1.1 主界面设计 52
3.1.2 主菜单设计 54
3.1.3 对话框设计 56
3.2 必备知识 57
3.2.1 视图与布局 57
3.2.2 常用控件设计 64
3.2.3 菜单设计 73
3.2.4 对话框设计 77
3.3 能力拓展 83
3.3.1 使用Hierarchy Viewer调试用户界面 83
3.3.2 使用Fragment构建用户界面 86
3.4 项目实践 95
任务4 异步加载文件列表 96
4.1 任务实现 96
4.1.1 监听SD卡状态 96
4.1.2 异步文件加载设计 97
4.1.3 文件列表设计 99
4.2 必备知识 101
4.2.1 适配器设计 101
4.2.2 使用BroadcastReceiver监听广播 103
4.2.3 Android中的异步处理 106
4.3 能力拓展 113
4.3.1 常用界面布局容器 113
4.3.2 使用Loader异步载入数据 116
4.4 项目实践 119
任务5 文件处理设计 120
5.1 任务实现 120
5.1.1 动作栏设计 120
5.1.2 文件处理设计 125
5.1.3 文件搜索设计 128
5.2 必备知识 129
5.2.1 文件存储 129
5.2.2 Intent与组件间的通信 131
5.2.3 动作栏与导航 137
5.3 能力拓展 142
5.3.1 使用ShareActionProvider分享应用 142
5.3.2 使用SearchView实现搜索功能 144
5.4 项目实践 149
任务6 系统配置与数据存储 150
6.1 任务实现 150
6.1.1 配置管理设计 150
6.1.2 书签功能设计 152
6.1.3 媒体文件扫描 155
6.2 必备知识 156
6.2.1 使用SharedPreferences保存配置信息 156
6.2.2 使用SQLiteOpenHelper管理数据库 160
6.2.3 使用ContentProvider实现数据共享 166
6.3 能力拓展 172
6.3.1 数据备份 172
6.3.2 使用ContentObserver监听数据变化 175
6.4 项目实践 178
任务7 图形与图像处理 179
7.1 任务实现 179
7.1.1 图像处理工具设计 179
7.1.2 图像浏览设计 183
7.1.3 视频列表设计 185
7.2 必备知识 187
7.2.1 Android中的绘图 187
7.2.2 自定义组件 190
7.2.3 样式与主题 196
7.3 能力拓展 199
7.3.1 使用App Widgets创建桌面应用 199
7.3.2 使用Animation设计动画 206
7.4 项目实践 210
任务8 音频与视频处理 211
8.1 任务实现 211
8.1.1 音频播放设计 211
8.1.2 视频播放设计 214
8.1.3 重构SD卡的监听 216
8.2 必备知识 217
8.2.1 使用MediaPlayer播放音乐 217
8.2.2 音频管理 222
8.2.3 使用Service实现后台服务 225
8.3 能力拓展 235
8.3.1 使用VideoView播放视频 235
8.3.2 电话与短信 236
8.4 项目实践 242
任务9 网络功能设计 243
9.1 任务实现 243
9.1.1 文件上传设计 243
9.1.2 蓝牙传输设计 245
9.1.3 应用更新设计 249
9.2 必备知识 253
9.2.1 Android中的网络编程 253
9.2.2 JSON数据解析 256
9.2.3 Android蓝牙开发 262
9.3 能力拓展 270
9.3.1 使用WebView构建网络应用 271
9.3.2 使用Google地图服务 276
9.4 项目实践 280
任务10 测试与发布应用 281
10.1 任务实现 281
10.1.1 本地化应用程序 281
10.1.2 项目测试 281
10.1.3 数字签名与打包 288
10.1.4 发布应用 290
10.2 必备知识 291
10.2.1 Android中的测试框架 291
10.2.2 发布前的准备 300
10.3 能力拓展 302
10.3.1 传感器 302
10.3.2 Google云信息服务 308
10.4 项目实践 314
参考文献 315