第1章 J2ME概述 1
1.1 J2ME简介 1
1.1.1 J2ME发展历史 1
目录 1
1.1.2 Java语言的特点 3
1.1.3 J2ME概述 6
1.2 J2ME架构 7
1.2.1 Configuration 8
1.2.2 Profile 9
1.3 技术规范 10
1.2.3 可选包 10
小结 11
思考练习题 11
第2章 Hello World 12
2.1 第一个实例 12
2.1.1 开发工具简介 12
2.1.2 第一个实例——Hello World 14
2.2 J2ME程序开发流程 16
2.2.1 J2ME程序开发流程 16
2.2.2 Hello World程序的编译运行 18
2.3.1 J2ME程序的基本结构 22
2.3 代码解释 22
2.3.2 代码详述 23
2.4 JBuilder 9的配置 25
2.4.1 JBuilder 9概述 25
2.4.2 JBuilder 9的移动开发包配置 25
2.5 使用JBuilder 9开发Hello World 28
2.5.1 创建Hello项目 28
2.5.2 Hello World程序注解 34
2.5.3 异常 37
2.5.4 项目目录结构 39
小结 39
思考练习题 40
实验 40
第3章 MIDlet和MIDlet Suite 41
3.1 MIDlet概述 41
3.1.1 MIDlet和MIDlet Suite 41
3.1.2 应用程序管理系统——AMS 42
3.2 MIDlet的打包 44
3.2.1 Jar清单文件 44
3.2.2 Jar应用描述文件 47
3.3 MIDlet的生命周期 48
3.3.1 MIDlet的状态 48
3.3.2 MIDlet的生命周期 49
3.4.1 MIDlet的安全管理 52
3.4 MIDlet的安全管理 52
小结 54
思考练习题 54
第4章 MIDP用户界面——高级API 55
4.1 MIDP用户界面概述 55
4.1.1 MIDP用户界面库 55
4.1.2 Display、Displayable以及应用管理 57
4.1.3 屏幕的使用 60
4.2 高级API详述 62
4.2.1 Displayable对象的基本元素 63
4.2.2 命令—Command 67
4.2.3 TextBox 75
4.2.4 Form 88
4.2.5 Item详述 92
4.3 开发实用程序 107
4.3.1 日常账务管理程序 107
4.3.2 数据输入界面 108
小结 111
实验 111
思考练习题 112
第5章 MIDP用户界面库——底层API 113
5.1 Canvas类概述 113
5.1.1 绘图机制 114
5.2.1 获取设备及屏幕属性 116
5.2 设备及屏幕属性 116
5.3.1 坐标系统 120
5.3 基本作图属性设置 120
5.3.2 颜色设置 121
5.4 基本图形操作 122
5.4.1 图形的绘制 122
5.4.2 坐标变换 126
5.4.3 绘制文本 128
5.4.4 图像 134
5.5 剪切区操作 139
5.5.1 剪切区 139
5.6.1 键盘事件处理 140
5.6 输入处理 140
5.6.2 指针事件处理 142
5.7 多线程 142
5.7.1 多线程编程概述 142
5.7.2 死锁的产生 146
5.7.3 代码的同步 147
5.8 定制Item 149
5.8.1 CustomItem 149
5.8.2 CustomItem的事件处理 150
5.8.3 定制表格Item 153
5.9.2 JBuilder的配置 158
5.9.1 日常账务管理程序 158
5.9 开发实用程序 158
5.9.3 图形的实现 162
5.9.4 字母拼图游戏 163
小结 169
实验 169
思考练习题 170
第6章 MIDP游戏编程 171
6.1 游戏API概述 171
6.1.1 游戏API类库概述 171
6.2.1 GameCanvas的图形绘制机制 173
6.2 GameCanvas类 173
6.2.2 按键状态查询 174
6.3 LayerManager和Layer 175
6.3.1 LayerManager和Layer的互动 176
6.3.2 使用观察窗口 177
6.4 Sprite 179
6.4.1 Sprite的结构 179
6.4.2 使用Sprite 181
6.5 TiledLayer 184
6.5.1 TiledLayer的结构 184
6.5.2 使用TiledLayer 186
6.6.1 飞机模拟飞行游戏 187
6.6 游戏设计 187
小结 190
实验 190
思考练习题 190
第7章 MIDP网络编程 191
7.1 通用连接框架 191
7.1.1 通用连接框架的基本概念 191
7.2 输入输出流 193
7.2.1 流概述 193
7.2.2 字节流 195
7.2.3 字符流 197
7.2.4 接口 198
7.3 HTTP协议 200
7.3.1 HTTP协议 200
7.4 使用HttpConnection编程 204
7.4.1 J2ME网络编程 204
7.5 Socket编程 213
7.5.1 使用Socket编写服务器 213
7.5.2 Socket客户端 215
7.6 无线消息传递 216
7.6.1 无线消息传递 216
7.6.2 SMS编程 217
7.7 PushRegistry 223
7.6.3 CBS编程 223
7.8 网络安全和MIDlet的签名认证 233
7.8.1 域 233
7.8.2 加密 233
7.8.3 MIDlet Suite的签名 239
小结 245
实验 246
思考练习题 246
第8章 永久存储 247
8.1 永久存储概述 247
8.1.1 内部工作原理 248
8.2 RMS基础 249
8.2.1 记录存储 249
8.2.2 记录操作 251
8.2.3 记录的过滤和比较 255
8.3 账务管理程序 257
8.3.1 账务管理中数据的存储 257
8.3.2 存储数据的读取 259
小结 261
实验 262
思考练习题 262
A.2.1 安装J2SE SDK 263
A.2 软件包安装与配置 263
附录A J2ME开发基本环境设置 263
A.1 获取软件包 263
A.2.2 安装J2ME Wireless Toolkit 264
A.2.3 配置 265
A.3 J2ME网络资源 266
附录B CLDC概述 267
B.1 CLDC的目标和功能 267
B.2 CLDC 1.1与CLDC 1.0的区别 267
B.3 CLDC的安全要求 268
B.3.1 安全概述 268
B.3.2 底层安全 268
B.4 CLDC中虚拟机的变化 269
B.3.3 应用层安全 269
B.5 CLDC中的类库 270
B.5.1 来自J2SE的类库 270
B.5.2 有的类库 273
附录C MIDP概述 274
C.1 MIDP的范围和软硬件要求 274
C.1.1 MIDP的范围 274
C.1.2 MIDP的硬件要求 274
C.1.3 MIDP的软件要求 275
C.2 MIDP的包概述 276
C.3 MIDP的部署——Over-The-Air(OTA) 277
C.4 MIDP程序的效率 277