第1章 J2ME开发起步 1
1.1 引言 1
1.2 常用概念及缩略语 1
1.3 J2ME平台透析 2
1.3.1 J2ME平台的内涵 2
1.3.2 J2ME平台的外延 4
1.4 J2ME平台技术概要 6
1.4.1 let架构 6
1.4.2 通用连接框架 6
1.4.3 无线电技术 6
1.4.4 液晶设备用户界面 6
1.4.5 多媒体框架 7
1.4.6 持久化 7
1.4.7 个人信息管理 7
1.4.8 JAXP和Web Service 7
1.4.9 JDBC 7
1.5 写在开发之前的经验 7
1.5.1 从MIDlet到Piglet 7
1.5.2 由奢入俭难——克服资源限制 8
1.5.3 死锁预防无处不在 8
1.5.4 淮橘北枳——模拟器环境与实机的距离 9
第2章 开发及验证环境 10
2.1 开发环境 10
2.1.1 集成开发环境 10
2.1.2 源代码编辑工具 12
2.1.3 模板代码 13
2.2 开发资料的获取 20
2.3 验证环境 21
2.3.1 模拟器 21
2.3.2 实机——NOKIA 5310 21
第3章 文件系统 22
3.1 文件系统开发概述 22
3.2 J2ME文件系统概述 22
3.2.1 JSR 75规范 22
3.2.2 文件可选包的引入 23
3.2.3 使用文件可选包的步骤 23
3.3 手机文件浏览器 24
3.3.1 功能说明 24
3.3.2 设计分析 24
3.3.3 实现过程 25
3.4 手机文件选择组件 37
3.4.1 手机文件选择组件开发概述 37
3.4.2 文件选择功能组件化的考虑 37
3.4.3 功能说明 38
3.4.4 设计说明 38
3.4.5 文件选择功能组件化小结 43
3.5 手机文件浏览器在实机上运行的注意事项 44
3.5.1 内存不足 44
3.5.2 安全确认提示 44
3.6 API参考资料 44
第4章 网络通信 45
4.1 J2ME网络通信概述 45
4.2 网络通信的要点 45
4.2.1 GCF应用模式 45
4.2.2 无线网络应用 47
4.3 HTTP通信 47
4.3.1 HTTP请求模式 47
4.3.2 HTTP通信状态检查 47
4.4 数据报通信过程 48
4.4.1 数据报服务端过程 48
4.4.2 数据报客户端过程 51
4.5 网络通信应用小结 54
4.6 API参考资料 54
第5章 无线通信 55
5.1 无线电技术回顾 55
5.1.1 第一次亲密接触:收音机 55
5.1.2 拇指一族与GSM/CDMA 55
5.1.3 蓝牙技术:分享你我的快乐 56
5.2 无线消息 56
5.2.1 无线消息开发概述 56
5.2.2 J2ME平台下的WMA 57
5.2.3 发送短信 57
5.2.4 发送彩信 61
5.2.5 WMAPI的使用要点 66
5.3 蓝牙通信 66
5.3.1 蓝牙通信概述 66
5.3.2 J2ME平台对蓝牙技术的支持 67
5.3.3 J2ME平台下蓝牙通信的实现 67
5.4 蓝牙设备通信 98
5.4.1 蓝牙设备概述 98
5.4.2 串口通信模式 98
5.4.3 通过串口读取蓝牙设备数据 98
5.5 API参考资料 99
第6章 底层用户界面开发 100
6.1 底层用户界面开发概述 100
6.1.1 底层与上层用户界面 100
6.1.2 移动设备屏幕的代表:Canvas 101
6.1.3 底层用户界面的开发模式 101
6.2 《碰运气》游戏 101
6.2.1 J2ME平台对游戏开发的支持 102
6.2.2 《碰运气》游戏的功能说明 102
6.2.3 设计分析 102
6.3 电子地图浏览器 122
6.3.1 电子地图浏览器功能分析 123
6.3.2 实现电子地图浏览器 124
6.3.3 电子地图应用小结 139
6.4 底层用户界面应用小结 140
6.5 API参考资料 140
第7章 多媒体开发 141
7.1 多媒体框架概述 141
7.2 音乐播放器 141
7.2.1 音乐播放器开发引言 141
7.2.2 音乐播放器的功能说明 142
7.2.3 音乐播放池 142
7.2.4 设计分析 142
7.2.5 音乐播放器的实现过程 143
7.2.6 对音乐播放器开发的探讨 151
7.3 视频播放器 152
7.3.1 视频播放器开发引言 152
7.3.2 视频播放器的功能说明 153
7.3.3 视频播放池 153
7.3.4 设计分析 153
7.3.5 视频播放器的实现过程 154
7.3.6 对视频播放器开发的探讨 162
7.4 手机摄像头视频采集 164
7.4.1 摄像头视频采集说明 164
7.4.2 摄像头视频采集核心开发过程 165
7.4.3 手机摄像头视频采集的应用 167
7.5 图片管理 167
7.5.1 图片显示模式 167
7.5.2 底层图像处理 171
7.6 动画播放 171
7.6.1 动画播放概述 171
7.6.2 动画的实现原理及方法 171
7.6.3 设计过程 172
7.7 展望Java TV 173
7.8 ATI参考资料 173
第8章 持久化应用 174
8.1 持久化概述 174
8.2 持久化方案 174
8.2.1 文件 174
8.2.2 嵌入式数据库 175
8.3 RMS 175
8.3.1 RMS概述 175
8.3.2 J2ME中RMS的功能介绍 176
8.3.3 RMS功能说明 176
8.3.4 RMS功能的实现 177
8.3.5 使用RMS实现日记账管理 181
8.3.6 RMS开发小结 187
8.4 RMS API参考资料 187
第9章 移动商务应用 188
9.1 移动商务应用模式 188
9.1.1 手机平台与桌面平台数据共享 188
9.1.2 以手机平台作为Backoffice系统 188
9.2 PIM 189
9.2.1 PIM包介绍 190
9.2.2 使用PIM实现手机联系方式共享 190
9.2.3 PIM应用小结 196
9.2.4 在实机上访问PIM的注意事项 197
9.3 对象数据库在J2ME平台的应用 197
9.3.1 对象数据库Db4o简介 197
9.3.2 J2ME对Db4o的支持 198
9.3.3 Db4o API简介 198
9.3.4 对象数据库应用 199
9.3.5 使用Db4o实现日记账管理 200
9.3.6 对象数据库的使用心得 212
9.4 嵌入式数据库在J2ME平台的应用 212
9.4.1 嵌入式数据库概述 212
9.4.2 嵌入式数据库Derby 213
9.4.3 在J2ME平台中使用Derby 213
9.4.4 JDBC应用基础 216
9.4.5 使用Derby嵌入式数据库引擎 224
9.4.6 使用Derby实现日记账管理 227
9.4.7 嵌入式数据库的使用心得 239
9.5 API参考资料 239
第10章 XML模型应用 240
10.1 JAXP概述 240
10.2 XML数据模型 241
10.3 在J2ME平台下的JAXP可选包 241
10.4 在J2ME平台下的XML模型应用实例 242
10.4.1 依据数据模型定义对象结构 242
10.4.2 创建SAX解析器 244
10.4.3 解析处理过程 244
10.4.4 XML解析线程 246
10.4.5 解析处理者 249
10.4.6 数据内容显示控制 250
10.4.7 行政区划查询工具用户界面 251
10.5 XML数据模型应用展望 256
10.6 J2SE与J2ME平台结合应用 256
10.6.1 什么是DdlUtils 256
10.6.2 DdlUtils在Mobile Client方面的应用 257
10.6.3 DdlUtils核心Package和一些主要的类/接口 258
10.6.4 使用DdlUtils的前提 259
10.6.5 DdlUtils的核心概念 260
10.6.6 Mobile Client的开发流程 260
10.6.7 结束语 265
10.7 API参考资料 266
第11章 手机系统信息和程序安装 267
11.1 获取系统信息 267
11.1.1 获取设备信息 267
11.1.2 获取具体的系统信息 268
11.1.3 获取MIDlet属性 269
11.1.4 获取系统信息实例 271
11.2 安装手机程序 276
11.2.1 查看手机的J2ME配置 276
11.2.2 设置开发环境中J2ME平台的支持版本 277
11.2.3 安装手机程序的方式 278
11.2.4 在手机上查看安装程序 280
附录 281
附录A RMS记录管理常用的API 281
附录B JDBC常用封装函数 287
附录C 随书源代码的使用说明 297
参考文献 298