标题：从实例走进OPhone世界
内容简介
本书从一个开发者的角度出发，介绍了OPhone/Android系统的基础知识和开发技巧，详细讲解了无线通信、娱乐游戏、移动生活、OPhone特色应用等多种类型程序的开发流程和方法；通过介绍系统自带源代码实例，为读者提供参考资料和分析素材。
本书以开发笔记的写作手法，用丰富的实例展示了OPhone平台强大的功能和易于上手的开发环境，并配有大量插图和代码注释，为自学者提供了方便。书中穿插多个知识点、思考题及解答，使读者在学习的过程中能够拓展视野并举一反三。
本书既可以作为OPhone/Android初学者的教材，也可以作为嵌入式系统开发人员的参考资料。
图书信息
图书在版编目（CIP）数据
从实例走进OPhone世界／周轩，廖临波编著．—北京：机械工业出版社，2011.2
（移动平台开发书库）
ISBN 978-7-111-33030-1
Ⅰ．①从…  Ⅱ．①周…  ②廖  Ⅲ．①移动电话机―应用程序―程序设计  Ⅳ．①TN929.53-39
中国版本图书馆CIP数据核字（2011）第008198号
机械工业出版社（北京市百万庄大街22号  邮政编码100037）
定价：45.00元（含1CD）
目录
前言
第一篇  平台基础篇
第1章  千里之行始于足下—OPhone开发入门 2
1.1  搭建开发平台 2
1.1.1  安装Java SDK 3
1.1.2  安装Eclipse 5
1.1.3  安装Android SDK 6
1.1.4  安装OPhone SDK 7
1.1.5  模拟器的配置和运行 8
1.1.6  配置Eclipse环境 11
1.2  创建第一个程序 12
1.2.1  创建工程 12
1.2.2  真机运行指南 13
1.3  HelloOPhone工程分析 14
1.3.1  开发平台结构 14
1.3.2  工程组成 15
1.4  外部资源管理 17
1.4.1  资源存储 17
1.4.2  资源配置 18
1.4.3  资源访问 19
1.5  本章小结 21
第2章  进一步海阔天空—项目开发起步 22
2.1  程序设计初探 22
2.1.1  需求分析 22
2.1.2  设计流程 22
2.1.3  代码实现 23
2.1.4  代码分析 26
2.2  界面实现 27
2.2.1  添加菜单 27
2.2.2  新增界面 32
2.3  程序核心Activity 34
2.3.1  Acitivity 启动 34
2.3.2  Activity生命周期 35
2.4  日志功能 37
2.4.1  日志信息 37
2.4.2  日志使用 38
2.4.3  日志分析 39
2.5  实现交互的Intent 40
2.5.1  Intent应用功能 40
2.5.2  Intent基础知识 42
2.5.3  Intent应用实例 43
2.6  用Preference存取简单信息 44
2.7  调试工具 46
2.7.1  adb shell 46
2.7.2  ADB常用命令 48
2.7.3  其他工具 49
2.8  本章小结 49
第3章  范例代码剖析—API Demos 50
3.1  程序整体介绍 50
3.1.1  程序整体结构 51
3.1.2  程序主界面启动分析 53
3.2  控件使用 55
3.2.1  布局界面Layout 55
3.2.2  条状物Bar 58
3.2.3  图片Image 63
3.3  系统功能代码实例 66
3.3.1  实现交互的Dialog实例 66
3.3.2  提示用户的Notification实例 68
3.4  实例的单元测试 70
3.5  本章小结 72
第二篇  无线通信篇
第4章  沟通从电话开始—通话应用 74
4.1  用户需求分析 74
4.2  设计模式与功能实现 74
4.2.1  从按钮响应到MVC模式 75
4.2.2  手机状态与包 76
4.2.3  后台运行与文件读写 78
4.3  便捷呼叫 78
4.3.1  实现按钮响应的接口 78
4.3.2  弹出对话框 80
4.3.3  保存输入数据 81
4.3.4  使用Permission 82
4.4  来电判断运营商 85
4.4.1  呼叫状态监听 85
4.4.2  呼叫状态判断 87
4.5  自动保存呼叫记录 89
4.5.1  文件写入 90
4.5.2  使用文件管理器 91
4.5.3  文件读取 91
4.6  程序开机自启动 92
4.6.1  表示启动完成的Intent 93
4.6.2  广播接收者Broadcast Receiver 93
4.6.3  Broadcast Receiver生命周期 95
4.7  本章小结 95
第5章  便捷由短信引领—短信应用 96
5.1  短信基础知识 96
5.1.1  短信单元组成 96
5.1.2  短信发送实例 97
5.1.3  短信运行测试环境 99
5.2  PendingIntent功能介绍 101
5.2.1  发送方法详解 101
5.2.2  PendingIntent应用举例 102
5.3  SMS Manager功能介绍 104
5.3.1  长短信和数据短信 104
5.3.2  短信的接收方法 105
5.3.3  特殊短信的接收 106
5.4  本章小结 108
第6章  信息传递的中介—网络应用 109
6.1  网络应用基础 109
6.1.1  网页文本获取实例 109
6.1.2  解决无法访问网络问题 112
6.1.3  OPhone网页的不同 113
6.2  获取网络数据 114
6.2.1  获取图片代码 115
6.2.2  多线程访问网络 116
6.2.3  线程工具AsyncTask 118
6.3  HTTP协议的开发 122
6.3.1  HttpClient介绍 122
6.3.2  用GET方法获取数据 123
6.3.3  用POST方法提交数据 123
6.4  简单的网页呈现WebView 125
6.5  本章小结 126
第三篇  娱乐游戏篇
第7章  进入音乐世界—音乐播放器应用 128
7.1  最简易的音乐播放器 128
7.1.1  UI设计 128
7.1.2  代码分析 129
7.1.3  音频播放MediaPlayer类 131
7.1.4  进一步开发 133
7.2  播放列表 133
7.2.1  准备音乐 133
7.2.2  UI设计 135
7.2.3  数据共享存储Content Providers机制 136
7.2.4  播放列表显示 137
7.2.5  播放音乐 140
7.3  后台播放组件Service 143
7.3.1  Service概述 144
7.3.2  进度条 145
7.3.3  后台播放的实现 146
7.4  本章小结 149
第8章  3D产品开发—OpenGL ES应用 150
8.1  OpenGL与OPhone 150
8.2  3D开发框架 150
8.2.1  GLSurfaceView类 151
8.2.2  Renderer接口 152
8.3  图形着色 155
8.4  物体旋转 157
8.5  纹理贴图 160
8.5.1  载入纹理 160
8.5.2  创建纹理矩阵 162
8.5.3  绘制纹理 162
8.6  事件处理 163
8.7  本章小结 165
第9章  建立信息的仓库—数据库应用 166
9.1  SQLite数据库简介 166
9.2  SQLite相关操作 167
9.2.1  命令行工具 167
9.2.2  代码操作 168
9.2.3  封装操作 179
9.3  音乐数据库实例 181
9.3.1  数据库设计 182
9.3.2  主界面设计 186
9.3.3  文件浏览器 187
9.3.4  播放列表 190
9.4  本章小结 192
第10章  游戏实例分析—贪吃蛇 193
10.1  贪吃蛇开发基础 193
10.1.1  View类基础 194
10.1.2  自定义属性 194
10.1.3  数据结构 195
10.1.4  运行顺序 196
10.1.5  TileView类 199
10.2  解剖贪吃蛇 199
10.2.1  游戏界面 199
10.2.2  游戏交互 201
10.2.3  界面刷新 202
10.2.4  状态保存 203
10.3  不死贪吃蛇的实现 205
10.4  本章小结 206
第四篇  移动生活篇
第11章  找到所处的位置—GPS应用 209
11.1  背景知识 209
11.1.1  硬件开发流程 209
11.1.2  GPS介绍 210
11.1.3  情景模式介绍 211
11.2  设计流程 212
11.2.1  确保GPS可用 212
11.2.2  获得GPS控制权 216
11.2.3  获得情景模式控制权 219
11.2.4  其他工作 221
11.3  切换代码 223
11.4  提升用户体验 224
11.5  本章小结 227
第12章  捕捉方向和速度—传感应用 228
12.1  传感器概述 228
12.1.1  手机上的传感器 228
12.1.2  加速度传感器 229
12.2  获取传感器数据 231
12.2.1  AVD配置 231
12.2.2  管理与监听传感器 232
12.2.3  软件版本问题 235
12.2.4  代码示例 236
12.3  模拟器中的传感器 236
12.3.1  OpenIntents项目 237
12.3.2  SensorSimulator使用 237
12.3.3  导入模拟器库 239
12.3.4  编写代码 241
12.4  应用实例 242
12.4.1  翻转手机调静音 242
12.4.2  计步器 244
12.5  本章小结 247
第13章  留下美好的瞬间—相机应用 248
13.1  摄像头结构与参数 248
13.1.1  摄像头整体结构 248
13.1.2  传感器分类 249
13.1.3  摄像头主要参数 250
13.1.4  视频录制参数 251
13.2  相机程序基础 252
13.2.1  相机的界面和代码 252
13.2.2  代码流程分析 253
13.2.3  代码功能分析 254
13.2.4  相机资源的释放与关闭 255
13.3  Camera类的接口和功能 257
13.3.1  回调接口和类 257
13.3.2  预览功能 257
13.3.3  图片旋转功能 260
13.4  摄像效果优化 262
13.4.1  自动焦距调整 262
13.4.2  相片保存与优化 263
13.5  本章小结 265
第五篇  OPhone拓展篇
第14章  与众不同的OPhone—特色应用 267
14.1  主屏程序HomeAPI 267
14.1.1  主屏程序功能 267
14.1.2  界面初始化流程 269
14.1.3  注册Receiver流程 271
14.1.4  添加快捷方式 272
14.2  AGPS快速定位 273
14.2.1  什么是AGPS 273
14.2.2  AGPS实现原理 274
14.2.3  AGPS数据分析 276
14.3  基于3G网络的可视电话 277
14.3.1  可视电话简介 277
14.3.2  可视电话应用开发 277
14.4  本章小结 279
第15章  OPhone开发者必读—MM平台 280
15.1  Mobile Market介绍 280
15.1.1  Mobile Market功能 280
15.1.2  开发者注册流程 281
15.2  计费模式 283
15.2.1  创新的销售模式 283
15.2.2  Try and Buy流程 283
15.2.3  鉴权的申请 284
15.2.4  应用改造流程 285
15.3  分成模式 286
15.4  本章小结 287
后记 288
参考文献 289