目录 1
第1章 J2ME概述 1
1.1 引言 1
前言 1
1.1.1 J2ME是什么 2
1.1.2 J2ME能提供什么 3
1.2 J2ME虚拟机 4
1.2.1 K虚拟机 4
1.2.2 C虚拟机 5
1.3 配置 6
1.3.1 CLDC 7
1.3.1 CDC 9
1.4 配置文件 10
1.4.1 移动信息设备配置文件 11
1.4.2 基础配置文件 11
1.4.3 其他配置文件 12
1.5 J2ME编程准备 13
1.6 第一个J2ME应用 13
1.7 相关的Java技术 15
1.7.1 PersonalJava 16
1.7.2 Java卡 17
1.8 小结 19
第2章 J2ME编程技术 20
2.1 J2ME目标设备的约束 20
2.1.1 受限的处理器速度 21
2.1.2 受限的存储器和储存设备 21
2.1.3 受限的联网能力和带宽 22
2.1.4 输入输出方法的多样性 23
2.1.5 尺寸、外型和重量 26
2.1.7 移动设备的操作系统 27
2.1.6 小设备的世界变化快 27
2.2 克服这些限制的编程技术 28
2.2.1 不要使处理器超载 28
2.2.2 最大限度地节省存储器 29
2.2.3 让服务器多工作 30
2.2.4 避免使用字符串连接操作 31
2.2.5 别让垃圾收集器太忙 31
2.2.6 谨慎使用异常处理 31
2.2.7 使用本地变量 31
2.2.8 使程序族轻便 31
2.3 结合J2ME的受限特性进行管理 32
2.3.2 创造性地优化使用GUI类 32
2.3.1 仔细筹划 32
2.3.3 利用服务器的功能 32
2.3.4 使用MIDP中的低级UI API 33
2.3.5 用SyncML进行数据同步 34
2.4 小结 34
第3章 CLDC API及引用实现 35
3.1 核心包 35
3.1.1 java.lang包 35
3.1.4 常用包简介 36
3.1.2 java.io包 36
3.1.3 java.util包 36
3.2 通用连接框架 40
3.3 Kjava API 43
3.4 常用类简介 45
3.4.1 Spotlet类 46
3.4.2 Graphics类 46
3.4.4 TextField类 48
3.4.3 Button类 48
3.4.5 RadioButton和RadioGroup类 49
3.4.6 HelpDisplay类 50
3.4.7 ScrollTextBox类 51
3.4.8 Database类 51
3.5 安装CLDC 52
3.4.9 TextBox类 52
3.5.1 应用程序的编译、预审和运行 53
3.6 案例研究 55
3.6.1 TextField_Spotlet 56
3.6.2 ScrollTextBox_Spotlet 58
3.6.3 HelpDisplay_Spotlet 60
3.6.4 CheckRadio_Spotlet 62
3.6.5 HttpCheck_Spotlet 66
3.6.6 服务器 69
3.6.7 Socket_Check 70
3.7 小结 78
第4章 MIDP-MIDlet实现及案例研究 79
4.1 MIDlet和MIDlet状态 80
4.2 MIDlet族 80
4.3 MIDP API 81
4.4 应用生命期包 82
4.5 用户接口包 84
4.5.1 CommandListener接口 85
4.5.2 Alert类 86
4.5.3 ChoiceGroup类 87
4.5.4 Command类 89
4.5.5 Display类 90
4.5.6 Form类 91
4.5.7 Gauge类 92
4.5.8 Graphics类 93
4.5.9 List类 96
4.5.10 StringItem类 97
4.5.11 TextField类 98
4.5.12 TextBox类 99
4.5.13 Ticker类 100
4.6 持久包 100
4.6.1 RecordStore类 101
4.7.1 run.bat 106
4.7 安装MIDP和运行应用 106
4.6.2 持久包的异常处理 106
4.7.2 sample.bat 107
4.7.3 example.jad 109
4.8 J2ME无线工具包 110
4.9 针对Palm的MIDP 111
4.10 案例研究 115
4.10.1 TextFieldCheck 116
4.10.2 LabelUI 119
4.10.3 ChoiceGroupUI 121
4.10.4 TickerUI 125
4.10.5 MenuCheck 127
4.10.6 AddressBook 130
4.10.7 TestHTTP 140
4.11 小结 143
5.1 XML概述 144
第5章 J2ME中XML的处理与解析 144
5.1.1 XML的结构 145
5.1.2 XML模式 146
5.2 XML解析 147
5.2.1 可在KVM中使用的XML解析器 148
5.3 使用kXML 149
5.3.1 org.kxml解析器包 150
5.4.2 程序的分工 151
5.4.1 程序结构 151
5.4 应用实例 151
5.3.2 org.kxml.io包 151
5.4.3 程序描述 152
5.5 小结 160
第6章 项目1:联机测验引擎 162
6.1 用户界面 162
6.2 运行程序 163
6.3 工作原理 164
6.3.1 TestManager流程图 169
6.4 TestManager.java 172
6.4.1 TestManager.java程序解释 177
6.5 MainScreen.java 178
6.5.1 MainScreen.java程序解释 197
6.6 QuestionParser.java 201
6.6.1 QuestionParser.java程序解释 205
6.7 Books.asp 207
6.7.1 Books.asp程序解释 208
6.8 TestFile.asp 209
6.8.1 TestFile.asp程序解释 211
6.9 小结 212
7.1 用户接口 213
第7章 项目2:联机订购系统 213
7.2 运行应用程序 214
7.3 工作原理 214
7.3.1 OrderManager.java 219
7.3.2 OrderManager.java程序解释 233
7.3.3 sql_xml.jsp程序解释 236
7.3.4 sql_order_mon.jsp程序解释 238
7.4 小结 239
8.1 使用CDC规范 240
第8章 项目3:Pocket PC上的MP3播放器 240
8.2 使用仿真环境 241
8.2.1 PersonalJava仿真环境 242
8.2.2 Pocket PC仿真环境 244
8.2.3 无仿真工作 245
8.3 JavaCheck 245
8.4 项目概述 249
8.5 工作原理 249
8.6 运行程序 256
8.7 在无线网上运行 257
8.7.1 MP3Player.java 257
8.7.2 NetDeamon.java 261
8.7.3 GUI.java 265
8.7.4 Track.java 269
8.7.5 MP3Client.java 273
8.7.6 ServerDialog.java 279
8.8 小结 280
第9章 项目4:对等网络查找 281
9.2 工作原理 282
9.1 用户界面 282
9.3 源代码 289
9.3.1 peer_application.java程序解释 295
9.3.2 userlist_screen.java程序解释 311
9.3.3 showfiles.java程序解释 327
9.3.4 serversearch.java程序解释 339
9.3.5 searchfiles.java程序解释 352
9.4 小结 354
第10章 项目5:移动Web服务 355
10.1 用户界面 355
10.2 运行程序 358
10.3 工作原理 359
10.3.1 MainClass.java 371
10.3.2 DataParser.java 375
10.3.3 Weather.java 390
10.3.4 News.java 399
10.3.5 MoviesList.java 409
10.4 小结 421
第11章 项目6:打靶游戏 422
11.1 用户界面 422
11.2 工作原理 423
11.3 源代码 427
11.3.1 TargetPractice.java 427
11.3.2 MainClass.java 436
11.3.3 Result.java 451
11.4 小结 454
第12章 将J2SE应用程序转换到J2ME 455
12.1 转换涉及的问题 455
12.1.1 Java语言支持与虚拟机的差别 456
12.1.2 硬件的差别 456
12.1.5 API中的差异 457
12.1.4 应用模型的差异 457
12.1.3 设备多样性引起的问题 457
12.2 必需的转换 459
12.2.1 必要时修改应用设计 459
12.2.2 简化GUI 460
12.2.3 去掉不必要或不可能用的功能 460
12.2.4 优化资源的使用 460
12.3 使用JavaCheck 460
12.4 一个转换的例子 462
12.4.1 分析设计 462
12.4.2 简化GUI 464
12.4.3 是否存在不必要或不可能的功能 465
12.4.4 列出消耗资源的部件 467
12.4.5 测试应用 467
12.5 小结 468
附录A 关于本书的CD-ROM 469