第1章 Java ME概述 1
1.1 Java ME背景介绍 2
1.1.1 Java ME简介 2
1.1.2 Java ME体系结构 3
1.1.3 Java ME中的虚拟机 3
1.1.4 Java ME的配置 4
1.1.5 Java ME简表 5
1.2 Java ME配置简介 5
1.2.1 CDC概述 5
1.2.2 CLDC概述 6
1.3 MIDP简介 12
1.3.1 MIDP设备 13
1.3.2 MIDP体系结构 13
1.3.3 MIDP 2.0的新特性 14
1.4 MIDlet简介 15
1.4.1 MIDlet生命周期 15
1.4.2 MIDlet程序结构 16
1 4.3 MIDlet程序中的事件处理 17
1.4.4 MIDlet套件 19
1.4.5 MIDlet开发流程 21
1.5 本章小结 25
第2章 Java ME开发环境配置 27
2.1 Java ME通用开发工具 28
2.1.1 Java WTK的安装 28
2.1.2 Java WTK目录结构 31
2.1.3 Java WTK项目开发 32
2.1.4 Java WTK项目管理 36
2.1.5 Java WTK项目发布 37
2.2 移动设备制造商的SDK 46
2.2.1 Sony Ericsson Java ME SDK 46
2.2.2 Motorola Java ME SDK 51
2.2.3 SamSung Java ME SDK 56
2.3 Java ME集成开发工具 61
2.3.1 Eclipse集成开发环境 62
2.3.2 NetBeans集成开发环境 72
2.4 本章小结 80
第3章 高级用户界面 81
3.1 MIDP高级用户界面设计概述 82
3.2 Display类和Displayable类 83
3.3 高级屏幕对象 86
3.3.1 TextBox文本框 86
3.3.2 List列表 89
3.3.3 Alert消息框 93
3.3.4 Form表单 100
3.3.5 Ticker滚动条 103
3.4 表单中的Item组件 105
3.4.1 StringItem 105
3.4.2 TextField 109
3.4.3 ImageItem 111
3.4.4 DateField 114
3.4.5 Gauge 117
3.4.6 ChoiceGroup 122
3.4.7 CustomItem 125
3.4.8 Spacer 128
3.5 高级事件处理 130
3.5.1 Command软键 130
3.5.2 CommandListener软键事件 133
3.5.3 ItemStateListener组件事件 135
3.5.4 ItemCommandListener组件软键事件 137
3.6 本章小结 137
第4章 低级用户界面 139
4.1 Canvas画布屏幕设计 140
4.1.1 Canvas概述 140
4.1.2 画布屏幕大小 141
4.1.3 画布屏幕的绘制和重绘 143
4.1.4 Canvas屏幕可视性通知 147
4.2 Canvas事件处理 149
4.2.1 按键事件 150
4.2.2 指针事件 152
4.2.3 游戏动作 156
4.3 图形绘制与Graphics类 159
4.3.1 Graphics类概述 159
4.3.2 颜色模型 160
4.3.3 坐标系统 160
4.3.4 图形剪裁 164
4.3.5 绘制几何图形 164
4.4 文字绘制与Font类 168
4.4.1 Font类概述 168
4.4.2 绘制文本 169
4.4.3 字体属性 170
4.5 图像处理与Image类 173
4.5.1 Image类概述 173
4.5.2 PNG图像格式 174
4.5.3 绘制不变图像 174
4.5.4 绘制可变图像 177
4.5.5 图像双缓冲技术 180
4.6 综合实例:贪食蛇游戏 183
4.6.1 游戏功能分析 183
4.6.2 游戏具体实现 191
4.7 本章小结 197
第5章 记录管理系统 199
5.1 记录存储系统概述 200
5.2 记录存储系统类库简介 200
5.3 记录存储系统的基本操作 202
5.3.1 创建和打开记录存储 202
5.3.2 关闭和删除记录存储 202
5.3.3 增加记录 205
5.3.4 获取记录 205
5.3.5 修改记录 206
5.3.6 删除记录 206
5.4 记录存储系统的高级操作 209
5.4.1 记录存储枚举接口 210
5.4.2 记录存储过滤接口 210
5.4.3 记录存储比较接口 215
5.4.4 记录存储监听接口 215
5.5 综合示例:手机电话簿 216
5.6 本章小结 225
第6章 基于HTTP协议的网络开发 227
6.1 HTTP协议概述 228
6.1.1 HTTP连接状态 228
6.1.2 HTTP请求方式 228
6.2 建立HTTP连接 229
6.3 使用HTTP连接进行数据传递 232
6.3.1 向服务器提交数据 232
6.3.2 从服务器获取数据 241
6.4 综合示例:构建邮件系统 243
6.5 本章小结 253
第7章 基于Socket和数据报的网络开发 255
7.1 Socket和数据报编程概述 256
7.1.1 TCP协议概述 256
7.1.2 UDP协议概述 256
7.2 Socket编程 257
7.2.1 SocketConnection接口的使用 257
7.2.2 ServerSocketConnection接口的使用 258
7.3 数据报编程 267
7.4 本章小结 271
第8章 基于红外和蓝牙协议的网络开发 273
8.1 无线数据传输概述 274
8.1.1 红外数据传输概述 274
8.1.2 蓝牙数据传输概述 274
8.2 通过IrOBEX进行红外通信 275
8.2.1 IrOBEX协议概述 275
8.2.2 IrOBEX开发步骤 276
8.3 通过JABWT进行蓝牙通信 285
8.3.1 蓝牙协议栈 285
8.3.2 蓝牙互操作性配置 286
8.3.3 Java蓝牙无线技术API 286
8.3.4 通过RFCOMM实现蓝牙应用 290
8.4 综合示例:基于蓝牙通信的五子棋游戏 310
8.4.1 游戏功能分析 310
8.4.2 游戏具体实现 311
8.5 本章小结 324
第9章 消息应用开发 325
9.1 无线消息概述 326
9.1.1 GSM短消息服务 326
9.1.2 GSM小区广播服务 326
9.2 WMA概述 327
9.2.1 WMA简介 327
9.2.2 WMA类库简介 327
9.3 使用WTK中的WMA控制台 328
9.3.1 配置和启动WTK中的WMA控制台 328
9.3.2 使用WMA控制台发送文本消息 330
9.3.3 WMA控制台发送小区广播 331
9.3.4 WMA控制台发送多媒体消息 333
9.4 使用WMA编写收发短消息程序 334
9.4.1 发送和接收SMS消息 334
9.4.2 发送和接收二进制消息 341
9.4.3 发送和接收MMS消息 348
9.5 本章小结 355
第10章 多媒体开发 357
10.1 MM API概述 358
10.2 媒体管理类Manager 358
10.3 播放器接口Player 359
10.3.1 播放器状态 360
10.3.2 播放器监听接口 363
10.4 媒体控制接口Control 364
10.4.1 获取控制器 365
10.4.2 音调控制接口 365
10.4.3 音量控制接口 367
10.4.4 视频控制接口 368
10.5 实现手机拍照功能 374
10.6 综合示例:手机拼图游戏 381
10.6.1 游戏功能分析 381
10.6.2 游戏具体实现 382
10.7 本章小结 395
第11章 MIDP游戏编程 397
11.1 Game API概述 398
11.2 游戏容器GameCanvas类 398
11.2.1 屏幕缓冲 399
11.2.2 获取键盘输入状态 400
11.2.3 实现游戏主循环 401
11.3 图层Layer类 407
11.4 游戏精灵Sprite类 408
11.4.1 帧动画 408
11.4.2 帧序列 409
11.4.3 精灵翻转 413
11.4.4 参考像素点 419
11.4.5 碰撞检测 421
11.5 游戏背景TiledLayer类 422
11.5.1 图像贴图和单元格 422
11.5.2 制作静态地图背景 424
11.5.3 制作动态地图背景 425
11.6 图层管理LayerManager类 430
11.6.1 图层的索引 431
11.6.2 图层的位置与绘制 432
11.6.3 设置视图窗口 432
11.7 综合示例:疯狂坦克游戏 433
11.7.1 游戏程序结构和设计思想 433
11.7.2 游戏程序分析和具体实现 434
11.8 本章小结 452
第12章 Mobile 3D程序开发 453
12.1 手机3D开发概述 454
12.1.1 Mobile 3D Graphics API简介 454
12.1.2 Mobile 3D Graphics两种开发模式 455
12.2 3D模型的建立 455
12.2.1 顶点数组 456
12.2.2 顶点缓冲和索引缓冲 456
12.2.3 外观属性 457
12.2.4 多面体模型的建立 457
12.3 3D场景的创建 457
12.3.1 世界World类 458
12.3.2 摄像机Camera类 458
12.3.3 光线Light类 463
12.3.4 背景Background类 464
12.3.5 场景中的坐标转换 464
12.3.6 场景的绘制 464
12.4 外部建模导入3D模型 469
12.5 综合示例:第一人称视角室内漫游 472
12.6 本章小结 480
第13章 益智类(PUZ)游戏——炸弹人 481
13.1 游戏的创意和架构 482
13.1.1 游戏创意 482
13.1.2 游戏的架构 483
13.2 游戏的流程和结构 483
13.3 游戏功能的实现 484
13.3.1 游戏的模型类实现 484
13.3.2 游戏的视图类实现 487
13.3.3 游戏的主角类实现 491
13.3.4 游戏的敌人类实现 494
13.3.5 游戏的炸弹类实现 498
13.3.6 游戏的MIDlet类实现 500
13.4 游戏运行 501
13.5 本章小结 502
第14章 射击类(STG)游戏——中途岛海战 503
14.1 游戏的创意和准备工作 504
14.1.1 游戏创意 504
14.1.2 游戏的准备工作 504
14.2 游戏的流程和结构 508
14.3 游戏功能的实现 509
14.3.1 游戏的敌人小型飞机类实现 509
14.3.2 游戏的敌人中型飞机类实现 513
14.3.3 游戏的敌人旗舰类实现 514
14.3.4 游戏的主角飞机发射的子弹类实现 525
14.3.5 游戏的友军轰炸类实现 528
14.3.6 游戏的画布屏幕类实现 530
14.3.7 游戏的MIDlet类实现 572
14.4 游戏运行 573
14.5 本章小结 574
第15章 角色扮演类(RPG)游戏——苦涩大地 579
15.1 游戏的创意和准备工作 576
15.1.1 游戏创意 576
15.1.2 游戏的准备工作 577
15.2 游戏的流程和结构 577
15.3 游戏功能的实现 578
15.3.1 游戏的画布屏幕类实现 578
15.3.2 游戏精灵类的实现 597
15.3.3 游戏的主角类实现 597
15.3.4 游戏的怪物类实现 600
15.3.5 游戏的NPC类实现 606
15.3.6 游戏的地图类实现 606
15.3.7 游戏的MIDlet类实现 607
15.4 游戏运行 608
15.5 本章小结 609
参考文献 610