本书通过精心设计的7个工作项目,全程贯彻“做中学”理念,先实践认知,后理论拓展,由浅入深,让读者逐步掌握Android应用程序用户界面布局设计、2D绘图和游戏设计、传感器、网络访问、LBS地图相册开发等技术,在项目实践过程中理解Android基本开发技术、调试方法、项目重构技巧和规范的编码风格,掌握开发Android应用程序的方法。
本书项目1阐述Android应用程序开发环境的搭建;项目2讲解BMI体质指数计算器的开发,着重阐述基本组件的使用;项目3讲解ColorCard色卡应用程序的开发,着重阐述通过灵活布局组件构建动态界面的技术;项目4讲解PT拼图游戏的开发,着重阐述2D绘图知识、线程和游戏开发技术;项目5讲解PhoneSecurity手机防盗器的开发,着重阐述传感器、短信和电子邮件发送技术;项目6讲解NewsReader新闻阅读器的开发,着重阐述ListView等高级组件的使用和XML/JSON数据处理技术;项目7讲解MapPhotos地图相册的开发,着重阐述在应用程序中使用地图和相机拍照的技术。本书配有教学视频、习题参考等教学资源,方便老师教学。
本书可作为各高等院校移动互联网Android开发技术的教材,也可作为软件开发人员的参考用书。
1、采用项目教学法,以实际案例引入知识点。
2、项目中既有知识教授,又有学生练习题目,培养学生解决实际问题能力。
3、教学内容兼顾够用原则且适当扩展,教学安排充分考虑了高职学生的实际应用能力。
项目1 Android应用程序开发环境搭建 1
1.1 安装文件准备 1
1.2 开发环境安装和配置 2
1.3 Android应用程序编写 6
1.4 知识拓展 10
1.4.1 在设备上运行应用程序 10
1.4.2 安装APK应用到模拟器 12
1.4.3 Android技术架构 13
1.4.4 Java语法补充 15
1.5 问题实践 18
项目2 BMI体质指数计算器的开发 19
2.1 项目引入 19
2.2 BMI项目准备 20
2.3 BMI界面设计 20
2.4 BMI功能实现 22
2.5 BMI重构 26
2.6 BMI属性菜单 29
2.7 知识拓展 35
2.7.1 Activity 35
2.7.2 RelativeLayout 38
2.7.3 AndroidManifest 39
2.7.4 ApiDemo 40
2.7.5 API Reference 42
2.8 问题实践 43
项目3 ColorCard色卡程序的开发 44
3.1 项目引入 44
3.2 ColorCard项目准备 45
3.3 ColorCard界面设计 46
3.3.1 主界面布局 46
3.3.2 色卡界面布局 50
3.3.3 检索界面布局 52
3.3.4 辨色界面布局 53
3.4 选项卡切换 54
3.5 色卡功能实现 63
3.6 检索功能实现 69
3.7 辨色功能实现 70
3.8 知识拓展 77
3.8.1 LinearLayout 77
3.8.2 px/dp/sp 79
3.8.3 Debug 80
3.8.4 UI Viewer 82
3.9 问题实践 84
项目4 PT拼图游戏的开发 85
4.1 项目引入 85
4.2 拼图游戏项目准备 86
4.3 拼图游戏背景显示 89
4.4 拼图游戏界面设计 91
4.5 拼图块分割 96
4.6 拼图块触摸和移动 102
4.6.1 触摸功能实现 102
4.6.2 移动功能实现 105
4.6.3 移动性能优化 107
4.7 拼图块吸附与归位 114
4.8 拼图游戏启动动画 119
4.9 拼图归位音效 119
4.10 游戏进度自动保存 122
4.11 知识拓展 128
4.11.1 背景音乐 128
4.11.2 SurfaceView 129
4.11.3 游戏中的动画 136
4.11.4 Android应用打包 138
4.11.5 游戏引擎 140
4.11.6 给初学者的建议 140
4.11.7 连连看/消色块原理 143
4.12 问题实践 150
项目5 PhoneSecurity手机防盗器的开发 151
5.1 项目引入 151
5.2 PhoneSecurity项目准备 152
5.3 距离检测与报警 154
5.4 防盗功能实现 157
5.5 追回技术分析 160
5.6 手机信息保存 160
5.7 SIM卡检测和短信发送 167
5.8 电子邮件发送 170
5.9 知识拓展 179
5.9.1 Service 179
5.9.2 Broadcast Receiver 182
5.10 问题实践 184
项目6 NewsReader新闻阅读器的开发 185
6.1 项目引入 185
6.2 NewsReader项目准备 186
6.3 NewsReader界面设计 187
6.3.1 主界面设计 187
6.3.2 底部导航栏设计 189
6.4 导航栏切换 193
6.5 新闻获取 198
6.6 RSS数据源解析 203
6.7 新闻条目加载 208
6.8 新闻内容查看 215
6.9 知识拓展 221
6.9.1 Fragment 221
6.9.2 HttpClient 224
6.9.3 XML/JSON 225
6.9.4 Notification 226
6.9.5 ListView 228
6.9.6 Handler/AsyncTask 230
6.9.7 AndroidSDK Source 234
6.10 问题实践 236
项目7 MapPhotos地图相册的开发 237
7.1 项目引入 237
7.2 MapPhotos项目准备 238
7.3 相册条目实现 242
7.4 地图实现 254
7.5 相机拍照实现 268
7.6 相册数据保存 281
7.7 地图相册实现 287
7.8 图库浏览 296
7.9 知识拓展 304
7.9.1 GoogleMap 304
7.9.2 Camera 307
7.9.3 SharedPreferences 308
7.9.4 SQLite 309
7.9.5 ContentProvider 311
7.9.6 Intent 314
7.9.7 Context 318
7.9.8 开发资源参考 319
7.10 问题实践 322