Chapter 1 Java的下一个领域为移动电话 1
1-1 用移动电话来执行Java 2
1-1-1 将Java放到移动电话上 2
1-1-2 什么是移动电话的Java 2
1-1-3 什么是J2ME 3
1-1-4 J2SE与CLDC的差异 5
1-2 日本国内的两种移动Java 8
1-2-1 Profile的种类 8
1-2-2 什么是MIDP 9
1-2-3 什么是DoJa 10
1-2-4 MIDP与DoJa的差异 11
1-3-2 J-PHONE的扩展性能 12
1-3-1 扩展API是指什么 12
1-3 扩展API 12
1-3-3 KDDI的扩展性能 13
1-3-4 两家电信商扩展API的比较 14
1-4 移动Java的优缺点与今后的动向 14
Chapter 2 MIDP开发的基础与生命周期 17
2-1 MIDlet开发环境的准备 18
2-1-1 开发环境的准备 18
2-1-2 JDK与J2MEWTK的安装 18
2-1-3 文档的准备 23
2-2 MIDlet的基础与其生命周期 23
2-2-1 MIDlet的构成 23
2-2-2 MIDlet的规则与抽象方法 24
2-2-3 MIDlet的生命周期 25
2-2-4 MIDlet的运行流程 26
2-3-1 编写在JAD文件与列表文件中的属性 27
2-3 MIDlet属性 27
2-3-2 JAD文件编写内容的获取 31
2-4 实际的开发 31
2-4-1 开发的流程 31
2-4-2 开发时的注意点 32
2-4-3 项目的创建 33
2-4-4 编写程序代码 37
2-4-5 编译 38
2-4-6 运行前验证处理 39
2-4-7 打包与JAD文件创建 40
2-4-8 运行 42
2-4-9 调试与Web服务器的设置 43
2-5-1 MIDlet的结束 44
2-5 MIDLet的结束与暂停 44
2-5-2 MIDlet的强制停止 45
2-5-3 MIDlet的选择画面 46
Chapter 3 深入了解MIDP规范 47
3-1 了解MIDlet的画面显示 48
3-2 了解低级绘图 49
3-2-1 试着使用低级绘图方法 49
3-2-2 锚点 54
3-2-3 颜色的指定 56
3-2-4 字体的指定 56
3-2-5 图像的获取 60
3-3 了解UI组件 62
3-3-1 UI组件的使用 62
3-3-2 Item类的子类 65
3-4 了解MIDlet的按键事件 68
3-4-1 按键的种类 68
3-4-2 软件按键与命令的事件处理 69
3-4-3 数字按键与符号按键的事件处理 73
3-4-4 十字按键与确定按键的事件处理 76
3-4-5 指针事件 79
3-5 了解简单的声音功能 80
3-6 了解数据存储功能 81
3-6-1 RMS(Record Management System) 81
3-6-2 记录的添加、删除和更改 82
3-6-3 记录的ID 83
3-6-4 使用了RecordStore的范例 85
3-7-1 Generic Connection架构 90
3-7 了解网络功能 90
3-7-2 connector类 91
3-7-3 Connection接口 92
Chapter 4 制作动画 95
4-1 了解动画与线程 96
4-1-1 动画的基础 96
4-1-2 线程的使用 96
4-1-3 线程的启动与停止 97
4-1-4 线程指定时间的等待 99
4-2 动画的创建 99
4-2-1 类结构 99
4-2-2 项目的创建与图像的准备 101
4-2-3 AnimeMIDlet类的设置 101
4-2-4 AnimelCanvas类的设置 102
4-3-1 什么是DoubleBuffer 105
4-2-5 动画的运行 105
4-3 了解DoubleBuffer 105
4-3-2 DoubleBuffer的使用 106
4-4 了解Canvas类的运行特性 107
Chapter 5 制作拼图板益智游戏 109
5-1 游戏的了解与开发的准备 110
5-1-1 拼图板益智游戏的规则与了解 110
5-1-2 游戏的流程与类结构 111
5-1-3 考虑默认画面大小 113
5-1-4 开发的准备 113
5-2 实现类 114
5-2-1 NumberSliderPuzzle类的实现 114
5-2-2 Timer类与TimerTask类 116
5-2-3 GameTimer类的实现 118
5-2-4 GameCanvas类的实现 119
5-2-5 游戏的状态 120
5-2-6 Constructor 121
5-2-7 准备各关卡的谜题 122
5-2-8 初始化处理 123
5-2-9 命令的种类 125
5-2-10 命令处理 125
5-2-11 符合MIDlet的LiveCycle的处理 127
5-2-12 计时器处理 129
5-2-13 处理的中心部分 131
5-2-14 按键事件的处理 133
5-2-15 过关检查 137
5-2-17 描绘处理 138
5-2-16 暂停与重新启动处理 138
5-3 本章总结 145
Chapter 6 制作俄罗斯方块益智游戏 147
6-1 游戏的了解与开发的准备 148
6-1-1 俄罗斯方块益智游戏的规则与了解 148
6-1-2 游戏的流程与类结构 149
6-2 实现类 151
6-2-1 Cube类的实现 151
6-2-2 Piece类的实现 152
6-2-3 GameCanvas类的实现 155
6-2-4 游戏的状态 156
6-2-5 Constructor 156
6-2-6 初始化处理 157
6-2-7 命令的种类与命令处理 159
6-2-8 配合MIDlet的LiveCycle的处理 161
6-2-9 方块显示区域 163
6-2-10 落下方块组 164
6-2-11 制作下一个要落下的方块组 166
6-2-12 按键事件处理 169
6-2-13 处理的核心部分 179
6-2-14 方块的落下速度的调整 191
6-2-15 暂停处理与重新启动处理 193
6-2-16 描绘处理 194
6-3 本章总结 199
Chapter 7 制作卡片游戏 201
7-1 游戏的了解与开发的准备 202
7-1-1 了解扑克牌游戏机的规则 202
7-1-2 游戏的流程 203
7-1-3 类结构 204
7-1-4 开发的准备 205
7-2 实现类 206
7-2-1 PokerMachine类的实现 206
7-2-2 Card类的实现 208
7-2-3 扑克牌的种类 209
7-2-4 扑克牌的状态 211
7-2-5 扑克牌的描绘 212
7-2-6 GameCanvas类的实现 216
7-2-7 游戏的状态 217
7-2-8 Constructor 218
7-2-9 初始化处理 219
7-2-10 命令的种类与命令处理 221
7-2-11 配合MIDlet的LiveCycle处理 222
7-2-12 处理的核心部分 223
7-2-13 OK按钮的处理 226
7-2-14 按键事件处理 227
7-2-15 下注处理 229
7-2-16 分配新扑克牌的处理 231
7-2-17 扑克牌选择处理 232
7-2-18 扑克牌交换处理 233
7-2-19 结果判定处理 235
7-2-20 描绘处理 245
7-3 本章总结 254
Chapter 8 制作射击游戏 257
8-1-2 游戏的流程与类结构 258
8-1-1 射击游戏的规则与了解 258
8-1 游戏的了解与开发的准备 258
8-1-3 开发的准备 260
8-2 实现类 262
8-2-1 SpaceShooter类的实现 262
8-2-2 了解Sprite功能 263
8-2-3 Sprite类的实现 263
8-2-4 MyShip类的实现 267
8-2-5 MyMissile类的实现 269
8-2-6 UFO类的实现 270
8-2-7 UFOMissile类的实现 275
8-2-8 GameCanvas类的实现 276
8-2-9 游戏状态 277
8-2-10 Constructor 278
8-2-11 与Sprite有关的实例变量 279
8-2-12 初始化处理 281
8-2-13 命令的种类与命令的处理 282
8-2-14 配合MIDlet的LiveCycle处理 284
8-2-15 处理的核心部分 286
8-2-16 UFO的出现处理 293
8-2-17 按钮按键处理 295
8-2-18 暂停与重新启动处理 298
8-2-19 描绘处理 298
8-3 本章总结 303
Chapter 9 制作格斗游戏 305
9-1 游戏的了解与开发的准备 306
9-1-1 拳击游戏规则的了解 306
9-1-2 游戏的流程与类结构 307
9-1-3 开发的准备 308
9-2 实现类 310
9-2-1 PoketBoxing类的实现 310
9-2-2 Boxer类的实现 311
9-2-3 拳击手的状态 313
9-2-4 拳击手的初始化处理 315
9-2-5 拳击处理与生命点数处理 315
9-2-6 描绘处理 317
9-2-7 Enemy类的实现 319
9-2-8 GameCanvas类的实现 322
9-2-9 游戏的状态 323
9-2-10 Constructor 324
9-2-11 初始化处理 325
9-2-12 命令的种类与命令处理 327
9-2-13 配合MIDlet的LiveCycle处理 329
9-2-14 处理的核心部分 330
9-2-15 更改对手拳击手的状态 334
9-2-16 生命点数的检查与回合结束处理 342
9-2-17 按键事件的处理 346
9-2-18 暂停与重新启动处理 349
9-2-19 描绘处理 349
9-3 本章总结 354
Chapter 10 开发秘诀 355
10-1 游戏开发的秘诀 356
10-2 将文件缩小 358
10-2-1 混淆器 359
10-2-2 使用了RetroGuard的文件缩小化 360