第1章 Java ME概述 1
1.1 移动开发技术简介 1
1.1.1 BREW 2
1.1.2 Svmbian 3
1.1.3 Windows Mobile 3
1.1.4 UniJa 4
1.1.5 Java ME 4
1.2 Java ME的历史 5
1.2.1 Java版本历史 5
1.2.2 Java家族成员 5
1.2.3 Java ME简介 6
1.3 Java ME程序员岗位能力要求和知识体系 7
1.3.1 Java ME程序员需求现状和岗位能力要求 8
1.3.2 Java ME程序员知识体系 11
【课堂实践1-1】 12
本章小结 12
课外拓展 12
第2章 Java ME开发环境 13
2.1 搭建Java ME开发环境(WTK) 13
2.1.1 WTK概述 13
2.1.2 WTK 2.5.2的下载和安装 14
2.1.3 WTK目录结构 17
2.2 应用WTK开发第一个Java ME程序 18
2.2.1 创建新项目 18
2.2.2 创建一个MIDlet文件 21
2.2.3 生成与运行Java ME应用 22
【课堂实践2-1】 26
2.3 搭建Java ME开发环境(Eclipse) 26
2.3.1 Eclipse和EclipseME概述 26
2.3.2 Eclipse的安装与汉化 26
2.3.3 EclipseME插件的安装 27
2.3.4 集成WTK模拟器 32
2.3.5 集成Nokia Developer's Suite 3.2模拟器 34
2.4 在Eclipse下开发第一个Java ME程序 36
2.4.1 创建Java ME工程 36
2.4.2 创建MIDlet文件 38
2.4.3 执行MIDlet 40
【课堂实践2-2】 43
本章小结 44
课外拓展 44
第3章 Java ME体系结构 45
3.1 Java ME总体架构 45
3.1.1 配置 46
3.1.2 简表 48
3.2 CLDC概述 49
3.2.1 CLDC简介 49
3.2.2 CLDC的功能范围 50
3.2.3 CLDC的安全机制 52
3.2.4 CLDC 1.1的新特性 54
3.3 CDC概述 54
【课堂实践3-1】 55
本章小结 55
课外拓展 56
第4章 MIDP应用程序 57
4.1 MIDP概述 57
4.1.1 MIDP 1.0和MIDP 2.0 58
4.1.2 MIDP架构与软件要求 60
4.2 MIDlet概述 61
4.2.1 MIDlet简介 61
4.2.2 MIDlet套件 61
4.2.3 JAR文件 62
4.2.4 JAD文件 64
4.2.5 JAD文件与JAR文件的关系 64
【课堂实践4-1】 65
4.3 MIDlet生命周期 65
4.3.1 MIDlet的生命周期概述 65
4.3.2 MIDlet的三种状态 66
4.3.3 典型的MIDlet程序 67
4.3.4 MIDlet生命周期的管理 69
【课堂实践4-2】 70
本章小结 70
课外拓展 70
第5章 MIDP图形用户界面(高级API) 71
5.1 MIDP图形用户界面概述 71
5.2 Display类和Displayable类 73
5.3 Alert类 75
5.4 Command类和CommandListener接口 77
【课堂实践5-1】 82
5.5 Form类 83
5.6 Item相关类 86
5.6.1 Item类 86
5.6.2 StringItem类 87
5.6.3 ImageItem 87
5.6.4 ItemCommandListener接口 90
【课堂实践5-2】 91
5.7 Choice接口及相关类 91
5.7.1 Choice接口 91
5.7.2 List类 92
5.7.3 ChoiceGroup类 96
5.7.4 ItemStateListener接口 97
5.8 TextBox类和TextField类 100
5.8.1 TextBox类 100
5.8.2 TextField类 103
【课堂实践5-3】 105
5.9 DateField类 105
5.10 Ticker类 107
5.11 Gauge类和Spacer类 109
5.11.1 Gauge类 109
5.11.2 Spacer类 113
【课堂实践5-4】 113
本章小结 113
课外拓展 114
第6章 MIDP记录管理系统 115
6.1 记录管理系统(RMS)概述 116
6.2 RecordStore的打开和关闭 117
6.2.1 创建和打开RecordStore 118
6.2.2 关闭RecordStore 120
6.2.3 删除RecordStore 120
【课堂实践6-1】 122
6.3 byte数据类型记录操作 122
6.3.1 增加记录 122
6.3.2 获取记录 123
6.3.3 修改记录 123
6.3.4 删除记录 124
6.4 其他数据类型记录操作 124
6.4.1 基本数据类型记录的操作 124
6.4.2 自定义数据类型记录的操作 126
【课堂实践6-2】 131
6.5 记录存储属性操作 131
6.6 监视记录存储 133
6.6.1 RecordListener接口 133
6.6.2 注册记录存储监听器 134
【课堂实践6-3】 135
6.7 记录的查询与排序 135
6.7.1 记录的遍历 135
6.7.2 过滤器和排序器 136
6.8 综合实例——个人收支管理 140
本章小结 147
课外拓展 147
第7章 MIDP图形用户界面(低级API) 148
7.1 Canvas类的使用 149
7.1.1 Canvas类概述 149
7.1.2 键盘事件 151
7.1.3 屏幕事件 153
【课堂实践7-1】 156
7.2 Graphics类的使用 156
7.2.1 Graphics类概述 156
7.2.2 绘图操作 157
7.2.3 颜色操作 161
7.2.4 文字操作 163
7.2.5 图像操作 166
【课堂实践7-2】 168
本章小结 169
课外拓展 170
第8章 MIDP游戏开发 171
8.1 游戏API简介 171
8.2 GameCanvas类的使用 172
8.2.1 简单绘图 174
8.2.2 键盘状态 175
【课堂实践8-1】 179
8.3 Sprite类的使用 179
8.3.1 Sprite概述 179
8.3.2 Sprite帧和帧序列 182
8.3.3 参考像素和Sprite的变换 187
8.3.4 碰撞检测 192
8.4 Layer相关类的使用 192
8.4.1 TiledLayer 192
8.4.2 LayerManager 194
【课堂实践8-2】 197
本章小结 197
课外拓展 197
第9章 MIDP网络编程 198
9.1 MIDP网络通信简介 198
9.1.1 Java ME联网技术简介 198
9.1.2 通用连接框架(GCF) 199
9.1.3 Connector类 201
9.2 基于HTTP协议的网络通信 201
9.2.1 HttpConnection接口 201
9.2.2 HTTPConnection网络通信步骤 203
9.2.3 HTTP读取Web服务器文件内容 204
9.2.4 MIDlet和Servlet之间的通信 207
【课堂实践9-1】 213
9.3 基于Socket协议的网络通信 213
9.3.1 Socket连接简介 213
9.3.2 Socket通信实例 215
9.4 基于Datagram协议的网络通信 226
9.4.1 Datagram连接简介 226
9.4.2 Datagram通信实例 227
【课堂实践9-2】 232
本章小结 232
课外拓展 233
第10章 MIDP多媒体编程 234
10.1 MMAPI概述 234
10.1.1 媒体播放概述 234
10.1.2 MMAPI体系结构 236
10.1.3 查看支持媒体类型 239
10.2 音调播放 241
10.2.1 简单音调播放 241
10.2.2 音调序列播放 243
10.3 音乐播放 247
10.3.1 简单音乐播放 247
10.3.2 音乐播放控制 250
10.3.3 音乐播放状态变化事件 252
【课堂实践10-1】 253
10.4 声音的录制 253
10.5 视频播放 257
10.5.1 使用Item播放视频 258
10.5.2 使用Canvas播放视频 262
10.5.3 视频播放状态和控制 262
【课堂实践10-2】 268
本章小结 268
课外拓展 269
第11章 Java ME程序安全与发布 270
11.1 MIDP的安全策略 270
11.1.1 许可 271
11.1.2 保护域 274
11.1.3 数字签名 276
11.2 MIDlet程序的打包 277
11.2.1 WTK中的打包与混淆处理 278
11.2.2 Eclipse中的打包与混淆处理 279
【课堂实践11-1】 281
11.3 OTA下载 281
11.3.1 OTA简介 281
11.3.2 OTA下载实例 281
【课堂实践11-2】 284
本章小结 284
课外拓展 285
参考文献 293