标题：OPhone应用开发权威指南
图书信息
作　者：丛书主编：中国移动通信研究院院长 黄晓庆  
  詹建飞  田  淼  吴  博  吕志虎  编著
出 版 社： 电子工业出版社
出版时间： 2009-12-1
页　数：480页
开　本： 16开
ISBN  978-7-121-09735-5
分类： 图书>> 移动开发
估价：58.00元（含光盘1张）
本书特色
该书适合有一定Java编程基础，希望从Symbian、Java ME或者Windows Mobile等平台过渡到OPhone平台的软件开发人员阅读，也可以作为高校师生的参考教材。
丛书介绍
“中国移动创新系列丛书”的目标是：加强基础理论与企业应用及行业发展的聚合力，展现先进文化思想，推动产业科技创新。这套丛书在科学理论与产业应用之间的成功结合填补了国内图书市场相关领域的空白，全层面多角度适应了广大读者的渴求，对于提高社会大众对我国信息通信产业的理解，增强工业界对信息通信业发展愿景的关注度，培养业内各类技术和管理人才都具有十分重要的战略和实践意义。
作者介绍
丛书主编：黄晓庆
现任中国移动通信研究院院长，在信息通信业拥有超过25年的从业经验，在信息通信各个领域都具有丰富的经验和独到的见解，是技术创新的倡导者和践行者。带领中国移动研发团队在国际标准化、科技创新、终端平台开放、基础网络架构、融合新业务等方面引领了行业发展。发起设立了“中国移动创新系列丛书”出版项目。
作者是OPhone研发团队一线开发人员
詹建飞，中国移动通信研究院终端技术研究所项目经理,毕业于北京邮电大学，硕士。6年Java编程经验，熟悉 Java ME、Symbian、OPhone等多种移动开发平台，具有丰富的客户端软件开发和设计经验，先后出版了《J2ME开发精解》和《Java ME核心技术与最佳实践》等书籍。 
田淼，中国移动通信研究院终端所项目经理，毕业于大连理工大学。长期从事互联网研发及手机终端软件研发，在J2EE、互联网技术及OPhone技术方面有丰富的经验。在中国移动通信研究院，主要从事互联网社区建设及OPhone系统研发，对OPhone UI系统有深入研究。
吴博，中国移动通信研究院项目经理，硕士毕业于华中理工大学，通信与信息系统专业，拥有多年VxWorks/Linux环境下的开发经验，申请专利3项。现专注于OPhone软件平台的研究、数据业务的运营及开发，负责制定中国移动快讯业务终端规范。
吕志虎，中国移动通信研究院OPhone项目负责人。硕士毕业于重庆邮电大学。8年移动终端研发及项目管理经验，负责OPhone总体技术、产品设计等工作，曾多次荣获中国移动通信集团科技进步奖和国家标准化协会奖。
内容简介
结合丰富的案例，系统全面地介绍OPhone应用程序开发的知识是本书追求的目标。全书包括的30多个案例，其中不乏俄罗斯方块、铃声DIY等完整的案例，是学习OPhone应用程序开发的重要参考。在内容安排上，不但详细地介绍了OPhone应用程序开发的主要内容，包括Activity、Service、Content Provider和BroadcastReceiver，还在多媒体、联网应用程序开发中适当深入，帮助读者提高工程项目的开发能力。本书共有11章，主要内容如下：
第1章“OPhone平台概述”，介绍了OPhone平台的体系结构、OPhone SDK和OPhone开发者社区。除此之外，还介绍了Mobile Market的商务合作流程。
第2章“OPhone开发环境和流程”，主要介绍了如何搭建OPhone应用程序开发环境和开发流程。其中，调试技巧和OPhone SDK提供的工具是应用程序开发过程中的有益补充。
第3章“OPhone应用程序模型”，深入介绍了OPhone应用程序的运行环境、OPhone应用程序的组成部分，包括Activity、Service、Content Provider和BroadcastReceiver，以及OPhone的安全体系和数字签名。
第4章“图形用户界面”，深入介绍了OPhone的用户界面接口和2D图形引擎，包括XML布局文件、事件处理、常用UI组件、自定义View、动画和资源文件管理等。
第5章“OpenGL ES编程”，深入介绍了OPhone平台的OpenGL ES编程，包括OpenGL ES设计准则、3D空间观察与变换、颜色和光照、纹理贴图、帧缓存操作、反走样及EGL使用等。
第6章“数据持久化存储”，介绍了OPhone平台提供的文件、Preference、关系型数据库SQLite和Content Provider四种数据持久化存储方案。
第7章“移动多媒体编程”，介绍了OPhone平台的多媒体框架，如何使用OPhone提供的音频和视频的播放、音频的录制等功能开发丰富多彩的移动多媒体应用程序。最后还深入分析了MP3文件格式，提供了MP3文件切割的解决方案。
第8章“让程序在后台运行”，深入介绍了OPhone平台的Service组件，包括如何创建和启动Service，如何在单独线程处理耗时的任务，如何使用AIDL语言等。
第9章“访问网络数据和服务”，主要介绍了OPhone平台连接互联网的能力，重点介绍了基于HTTP的联网应用程序开发。除了介绍开发联网应用程序常见的API之外，还介绍了设计通信数据格式及内容编码检测等高级话题。
第10章“高级通信技术”，主要介绍了OPhone平台提供的通信层API，借助这些API可以方便地访问电话和短信等功能。
第11章“访问硬件层”，介绍了如何使用OPhone提供的API访问设备的硬件层，包括Camera、位置服务和传感器。
如何使用光盘中的代码
本书的案例代码全部基于Eclipse开发完成，读者可以参考附录A“如何导入源代码”将案例导入到Eclipse中。
OPhone开发者的财富之路
中国移动推出的Mobile Market为开发者提供了广阔的发展空间，而OPhone作为Mobile Market支持的旗舰平台有着非凡的“钱”景。开发者可以免费注册成为中国移动的开发者用户，编写OPhone应用程序并上传到Mobile Market，你的应用将可以被中国移动的5亿用户下载使用，销售收入的70%归开发者所有。本书将是OPhone开发者通往财富之路的一把钥匙。
OPhone开发者社区
读者在阅读本书过程中，如果有任何疑问，都可以登录OPhone开发者社区寻求帮助。OPhone开发者社区提供最新的SDK下载、在线技术文档、论坛和博客等多项服务，目的是加强开发者之间的交流，提高开发者的能力。相信您在阅读过程中遇到的问题可以在OPhone开发者社区及时地得到解决。
目 录
第1章  OPhone平台概述
1.1  OPhone的由来
1.1.1  移动互联网模式的转变 
1.1.2  手机应用商店的崛起 
1.1.3  OPhone的诞生 
1.2  OPhone的架构
1.2.1  Linux内核
1.2.2  本地库 
1.2.3  OPhone运行环境 
1.2.4  Widget运行环境 
1.2.5  应用程序框架 
1.2.6  应用程序 
1.3  开发OPhone应用程序 
1.3.1  开发语言 
1.3.2  OPhone SDK 
1.3.3  OPhone开发者社区 
1.4  将OPhone应用上传到Mobile Market 
1.4.1  Mobile Market的商业模式 
1.4.2  Mobile Market发布流程
1.5  小结 
第2章  OPhone开发环境和流程
2.1  安装Eclipse和ODT 
2.1.1  安装Java SDK
2.1.2  安装Eclipse 
2.1.3  安装OPhone SDK 
2.1.4  安装和配置ODT插件 
2.2  第一个OPhone应用程序
2.2.1  新建OPhone项目
2.2.2  运行OPhone项目 
2.2.3  更新资源文件 
2.3  调试OPhone应用程序
2.3.1  设置断点
2.3.2  启动调试 
2.3.3  单步跟踪 
2.4  在命令行下开发OPhone程序 
2.4.1  创建项目 
2.4.2  用Ant编译项目
2.4.3  运行应用程序
2.5  OPhone SDK介绍 
2.5.1  OPhone模拟器 
2.5.2  模拟SD卡
2.5.3  ADB
2.5.4  DDMS
2.6  小结 
第3章  OPhone应用程序模型
3.1  OPhone应用程序基础 
3.1.1  OPhone应用程序运行环境
3.1.2  OPhone应用程序的组成 
3.2  Activity 
3.2.1  Activity创建与声明 
3.2.2  Activity的生命周期 
3.2.3  启动Activity 
3.2.4  Activity和Task 
3.3  Content Provider 
3.4  BroadcastReceiver 
3.5  Service
3.6  安全与许可 
3.6.1  安全架构
3.6.2  许可
3.7  数字签名 
3.7.1  签名策略 
3.7.2  签名步骤
3.8  小结 
第4章  图形用户界面 
4.1  用户界面概述 
4.1.1  手机软硬件特性的发展 
4.1.2  如何影响应用程序开发 
4.1.3  OPhone图形引擎 
4.2  用户界面设计 
4.2.1  声明布局文件
4.2.2  编写XML文件 
4.2.3  加载XML文件 
4.2.4  将数据绑定到AdapterView 
4.2.5  创建菜单 
4.2.6  创建Dialog 
4.2.7  通知用户
4.2.8  处理用户输入 
4.2.9  样式与主题 
4.3  常用Widget 
4.3.1  TextView
4.3.2  Button 
4.3.3  ImageView 
4.3.4  ProgressBar 
4.3.5  DatePicker/TimePicker
4.3.6  GridView
4.3.7  Spinner 
4.3.8  Gallery 
4.3.9  TabHost 
4.4  高级图形用户界面技术 
4.4.1  图形系统类结构 
4.4.2  常用布局类 
4.4.3  绘制图形
4.4.4  构建自己的组件 
4.5  图形动画 
4.5.1  Animation 
4.5.2  Interpolator 
4.5.3  AnimationSet 
4.5.4  自定义动画 
4.6  Resource介绍 
4.6.1  资源类型 
4.6.2  使用资源 
4.6.3  资源适配 
4.7  俄罗斯方块实例 
4.7.1  方块的数据结构 
4.7.2  方块渲染 
4.7.3  游戏区域设计 
4.7.4  碰撞检测
4.7.5  输入处理 
4.7.6  积分排行榜 
4.8  小结 
第5章  OpenGL ES编程
5.1  OpenGL ES概述 
5.1.1  OpenGL ES设计准则 
5.1.2  OpenGL ES 与OpenGL的不同 
5.1.3  一个简单的OpenGL ES程序
5.2  3D观察与变换 
5.2.1  一个简单的例子：绘制立方体 
5.2.2  理解变换 
5.2.3  投影变换 
5.2.4  视口变换 
5.2.5  矩阵堆栈 
5.3  绘制图元 
5.3.1  图元种类 
5.3.2  指定顶点数据 
5.3.3  绘制图元 
5.4  颜色和光照 
5.4.1  设置颜色和材质 
5.4.2  光照 
5.5  光栅化和片元处理
5.5.1  背面剪裁 
5.5.2  纹理映射 
5.5.3  雾 
5.5.4  反走样 
5.5.5  像素测试 
5.5.6  将片元合并到颜色缓存 
5.6  帧缓存操作 
5.6.1  清空缓存 
5.6.2  读取颜色缓存 
5.6.3  强制完成绘图指令 
5.7  其他 
5.7.1  行为控制函数 
5.7.2  状态查询 
5.8  EGL简介
5.9  小结 
第6章  数据持久化存储
6.1  文件存储
6.1.1  存储至默认文件夹 
6.1.2  存储至指定文件夹 
6.1.3  存储至SD卡 
6.1.4  读取资源文件
6.2  SharePreference 
6.3  SQLite 
6.3.1  创建数据库
6.3.2  SQLiteOpenHelper 
6.3.3  创建触发器 
6.3.4  创建索引 
6.3.5  创建视图 
6.3.6  操作数据 
6.3.7  将Cursor绑定到AdapterView 
6.4  Content Provider 
6.4.1  概述 
6.4.2  Content Provider加载机制 
6.4.3  创建Content Provider 
6.4.4  Content Provider更新的通知机制 
6.4.5  DAO接口及实现 
6.4.6  在新线程内处理数据 
6.5  小结 
第7章  移动多媒体编程
7.1  多媒体文件格式与编码 
7.1.1  多媒体文件格式 
7.1.2  编码 
7.1.3  OPhone平台支持的媒体格式 
7.1.4  选择合适的媒体文件 
7.2  音频和视频播放 
7.2.1  三种不同的数据源 
7.2.2  MediaPlayer的状态 
7.2.3  音乐播放器实例 
7.2.4  播放视频 
7.3  录制音频 
7.3.1  MediaRecorder的状态图 
7.3.2  录音器实例 
7.4  MP3文件格式分析 
7.4.1  MP3文件介绍 
7.4.2  ID3V1标签 
7.4.3  ID3V2标签 
7.4.4  MP3帧结构 
7.4.5  分割MP3文件 
7.5  案例分析——铃声DIY 
7.5.1  切割MP3 
7.6  小结 
第8章  让程序在后台运行 
8.1  Service概述 
8.2  Service编程实践 
8.2.1  创建Service 
8.2.2  启动和停止Service 
8.2.3  通知用户 
8.2.4  不阻塞用户操作 
8.2.5  Service与Activity通信 
8.3  后台播放音乐 
8.3.1  跨进程调用 
8.3.2  创建AIDL接口文件 
8.3.3  实现AIDL接口 
8.3.4  绑定Service 
8.3.5  调用IPC方法 
8.4  小结 
第9章  访问网络数据和服务
9.1  HTTP协议简介 
9.1.1  HTTP协议的主要特点 
9.1.2  HTTP连接过程 
9.1.3  HTTP消息格式 
9.2  线程管理 
9.2.1  匿名Thread 
9.2.2  java.util.concurrent框架 
9.2.3  AsyncTask 
9.3  网络编程接口 
9.3.1  HttpClient API介绍 
9.3.2  GET方法的使用和限制
9.3.3  使用POST方法上传附件 
9.3.4  从服务器端下载图片
9.4  设计C/S通信数据格式
9.4.1  对象序列化
9.4.2  使用XML传输对象
9.5  小结 
第10章  高级通信技术
10.1  电话 
10.1.1  电话呼叫
10.1.2  监听电话状态 
10.1.3  查询电话属性
10.1.4  读取通话记录
10.2  短消息 
10.2.1  发送短信 
10.2.2  接收短消息 
10.3  小结 
第11章  访问硬件层
11.1  访问相机 
11.1.1  创建Camera对象 
11.1.2  设置Camera参数 
11.1.3  预览 
11.1.4  拍摄照片 
11.2  访问位置服务 
11.2.1  创建LocationManager 
11.2.2  LocationProvider类 
11.2.3  监听位置更新
11.2.4  接近警报 
11.3  访问传感器 
11.3.1  SensorManager类 
11.3.2  监听传感器事件 
11.3.3  方向传感器应用——指南针 
11.3.4  模拟传感器
11.4  小结 
附录A  如何导入源代码 
附录B  Resin安装与Servlet部署 
参考文献