《J2ME应用开发详解》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陆昌辉主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121076374
  • 页数:300 页
图书介绍:本书由活跃在手机移动应用开发一线的多名资深程序员联合撰写而成,是他们多年开发经验的总结。它全面地介绍了使用J2ME进行移动应用开发的全过程,能够帮助有初级编程基础的程序员迅速进入编写J2ME移动应用程序的大门。本书在撰写中坚持理论与实践并重,面向实际开发,解决实际问题。全书共10章,主要内容包括:J2ME概述,MIDlets,处理CLDC 和 MIDP,MIDlets中的GUI编程,管理MIDlets中I/O,MIDlets-Servlet通信,处理MIDP RMS,J2ME的新趋势,以及手机WAP娱乐网与手机游戏开发两个经典实例的开发详解。本书在介绍具体知识点的同时,还穿插了大量简洁、生动的小实例,最好还介绍了两个典型实例的完整开发过程,难度由低到高、内容循序渐进,并注重技巧的归纳和总结,是广大热衷于J2ME移动应用开发程序员的必备参考书。

第1章 引入J2ME平台 1

1.1 J2ME和WAP 1

1.2 J2ME的体系结构 2

1.2.1 配置概述 2

1.2.2 简表概述 3

1.2.3 J2ME的目标设备 3

1.3 开发J2ME程序注意事项介绍 3

1.3.1 设计开发小型设备应用程序要注意的事项 3

1.3.2 设计开发移动设备应用程序的注意事项 4

1.3.3 性能注意事项 4

1.3.4 编译注意事项 4

1.3.5 打包和部署注意事项 5

1.4 无线编程的新趋势 5

1.4.1 J2ME使能设备 5

1.4.2 J2ME使能设备的优点 6

1.4.3 服务器应用和应用门户 6

1.4.4 J2ME与其他Java技术的汇集 7

1.4.5 Java卡和J2ME灵巧卡的演化 8

1.4.6 J2ME在GADGET编程中的作用 8

1.4.7 用J2ME的娱乐软件编程 9

1.4.8 J2ME与多媒体的汇集 10

1.5 J2ME配置 11

1.5.1 连接限制设备配置(CLDC) 12

1.5.2 CLDC要求 13

1.5.3 CLDC与CDC的比较 13

1.6 J2ME简表 14

1.6.1 KJava简表 14

1.6.2 MIDP简表 14

1.6.3 MIDP取代KJava 15

1.7 J2ME无线工具箱 16

1.7.1 J2ME无线工具箱的结构 16

第2章 J2ME中的开发与测试环境 19

2.1 安装和配置准备 19

2.1.1 Eclipse及EclipseMe插件的安装 19

2.1.2 配置EclipseME插件 20

2.2 开发J2ME应用程序 21

2.2.1 创建J2ME项目 21

2.2.2 开发J2ME项目 24

2.3 J2ME的测试环境 26

2.3.1 KToolbar介绍 26

2.3.2 运行J2ME应用程序 27

第3章 MIDlet介绍 29

3.1 MIDlet的生命周期 30

3.2 用命令行环境开发MIDlet实例 32

3.2.1 问题描述 32

3.2.2 问题分析 32

3.2.3 编码MIDlet 33

3.2.4 编译MIDlet 35

3.2.5 预检验MIDlet 36

3.2.6 打包MIDlet 36

3.2.7 测试MIDlet 37

3.3 用KTOOLBAR开发MIDlet实例 37

3.3.1 问题描述 38

3.3.2 问题分析 38

3.3.3 编码MIDlet 40

3.3.4 执行MIDlet 43

3.3.5 验证输出 45

3.4 MIDlet与XML 45

3.4.1 J2ME中XML 45

3.4.2 基于树的XML分析程序连接MIDlet到XML文件的例子 46

第4章 MIDlet中的GUI开发 49

4.1 MIDP图形坐标系统 49

4.1.1 MIDlet GUI编程中图形类 50

4.1.2 使用Graphics类 50

4.2 部署不同的MIDP GUI API(1) 54

4.2.1 问题描述 54

4.2.2 识别应用的要求 55

4.3 MIDP GUI编程中的GUI组件(2) 57

4.3.1 Screen类的组件 57

4.3.2 Item类的组件 60

4.4 编写创建应用的代码(3) 62

4.4.1 代码的编写 62

4.4.2 执行程序 65

4.4.3 验证输出 66

第5章 Servlets与MIDlet 67

5.1 用于MIDlet-Servlets内部通信的类和接口 67

5.1.1 用于MIDlet-Servlets内部通信的类 68

5.1.2 HttpConnection接口 68

5.2 实现MIDlets和Servlets之间的通信 70

5.2.1 问题描述 70

5.2.2 问题分析 70

5.2.3 识别编码MIDle要用到的包、类和接口 71

5.2.4 编写处理数据库的Servlet的代码 72

5.2.5 编译部署servlet 74

5.2.6 编写创建类将使MIDlet建立与HTTP的连接 74

5.2.7 编写创建将连接到servlet的MIDlet的代码 76

第6章 RMS 83

6.1 javax.microedition.rms包 83

6.1.1 RMS包中RecordStore类 83

6.1.2 RMS包中接口 84

6.1.3 RMS包中异常类 85

6.2 部署RMS API编写MIDLET应用代码 85

6.2.1 问题描述 85

6.2.2 创建输出的格式 86

6.2.3 识别应用中使用的方法 86

6.2.4 编码实现RMS应用的程序 90

6.2.5 执行程序 96

6.2.6 验证输出 96

第7章 MIDP 2.0的Game类详细介绍 99

7.1 GameCanvas类 99

7.2 GameCanvas基础实例 100

7.3 Sprite类 103

7.3.1 Sprite的定义 103

7.3.2 Sprite类构造函数 103

7.3.3 8 bit、16 bit还是32 bit 104

7.3.4 精灵碰撞 104

7.3.5 精灵显示 105

7.3.6 显示精灵序列 105

7.3.7 精灵透视 105

7.3.8 精灵变换 106

7.3.9 精灵优化 106

7.3.10 Sprite类实例 107

7.3.11 扩充Sprite类 110

7.3.12 建立自己的Sprite类 111

7.3.13 Sprite百草园 111

7.4 LayerManager类 112

7.4.1 什么是LayerManager 112

7.4.2 如何使用LayerManager 112

7.4.3 setViewWindow(int x,int y,int width,int height) 113

7.4.4 LayerManager类实例 113

7.4.5 LayerManager类和滚动背景 118

7.5 TiledLayer类 121

7.5.1 什么是TiledLayer类 121

7.5.2 TiledLayer类的构造函数 123

7.5.3 TiledLayer处理 123

7.5.4 TiledLayer显示 123

7.5.5 检索当前TiledLayer类的设置 123

7.5.6 动态的单元格 123

7.5.7 没有动态贴砖的TiledLayer类实例 124

7.5.8 包含动态贴砖的TiledLayer类实例 127

第8章 J2ME游戏开发 131

8.1 与传统游戏的差别 131

8.1.1 开发工具 132

8.1.2 3D 132

8.1.3 多人游戏 133

8.1.4 运行移动游戏的设备 133

8.2 开始开发 134

8.2.1 游戏的种类和流派 135

8.2.2 学习游戏创意 135

8.2.3 竞争 135

8.3 推向市场 136

8.3.1 直接出售 136

8.3.2 加入集团(Aggregator) 136

8.3.3 游戏发行商 136

8.3.4 运营商 137

8.3.5 制造商 137

8.3.6 无线产品代理商 137

8.4 移动游戏的限制 137

8.4.1 内存的分类 138

8.4.2 存储空间的碎片 138

8.4.3 显示大小和分辨率 138

8.4.4 手机界面 139

8.4.5 缺少类文件 139

8.4.6 开发者和使用者眼中的性能 139

8.4.7 先编码,然后考虑性能的提高 140

8.4.8 减少面向对象的代码 140

8.4.9 减少第三方库的使用 140

8.4.10 最少的通信 140

8.4.11 组合图像 141

8.4.12 垃圾回收 141

8.4.13 短小的名称及混淆机制 141

8.4.14 编码技巧 141

8.4.15 好的编码习惯 142

8.5 编码之前 142

8.5.1 游戏策划 143

8.5.2 复用性和组件开发 143

8.5.3 用户调查和目标用户 144

8.5.4 游戏种类 144

8.5.5 长期的计划 144

8.5.6 技术 144

8.5.7 游戏性 145

8.5.8 真实性 145

8.5.9 创意 145

8.5.10 模仿 145

8.5.11 设计模式 145

8.6 开发过程控制 146

8.6.1 开发模型 147

8.6.2 编译过程 149

8.6.3 源代码控制 150

第9章 任天堂Battle City游戏的设计与实现 151

9.1 任天堂(Nintendo)的8位FC机器和Battle City背景介绍 151

9.2 开发环境及相关技术的介绍 152

9.2.1 开发环境 152

9.2.2 关于JBuilder 9 152

9.2.3 关于Wireless Tool Kit 152

9.2.4 Java Appication Manager 153

9.3 程序结构、思想和相关技术 153

9.3.1 本程序需解决的有关技术问题 153

9.3.2 程序流程 154

9.4 绘图与MIDP2.0新增的GameCanvas包 156

9.4.1 提供低级绘制的Canvas类 156

9.4.2 Graphics类 157

9.4.3 PNG格式 157

9.4.4 Game包中的新功能 157

9.4.5 有关绘图的一些技术 158

9.4.6 坦克的控制和敌方的智能运行 158

9.4.7 子弹的运行和控制 159

9.4.8 RMS数据库系统 160

9.4.9 内存使用的最佳化 161

9.4.10 混淆器(Obfuscator)的使用 161

9.4.11 模拟器的相关调试 162

9.5 程序分析和具体实现 162

9.5.1 游戏进入前的选择 162

9.5.2 主游戏逻辑及其涉及到的若干类 166

9.5.3 坦克的共同行为 176

9.5.4 玩家坦克的功能属性 180

9.5.5 敌人坦克的功能属性 183

9.5.6 子弹的运行和控制 190

9.5.7 记分系统 199

9.6 总结 206

第10章 J2ME项目应用手机游戏开发 207

10.1 手机游戏的特征 207

10.2 游戏背景介绍及开发环境 208

10.2.1 游戏背景介绍 208

10.2.2 开发环境 208

10.3 程序结构、思想和相关技术 208

10.3.1 程序流程 209

10.3.2 Canvas类 210

10.3.3 Graphics类 210

10.3.4 MIDP1.0技术下的绘制背景技术 210

10.3.5 MIDP2.0新增的GameCanvas包 211

10.3.6 PNG图片格式 212

10.3.7 玩家飞机的控制方式和敌人方的智能运行 212

10.3.8 子弹的运行和控制 213

10.3.9 内存的优化 213

10.3.10 内存检测器 213

10.3.11 混淆器 213

10.4 程序分析和具体实现 214

10.4.1 mybullets类 215

10.4.2 游戏逻辑及gameScreen类 215

10.4.3 游戏中的奖励及相关飞机的行为 220

10.4.4 普通敌人相关属性 221

10.4.5 白云的实现原理 222

10.4.6 BOSS及相关属性 223

10.5 测试 223

10.5.1 发现的BUG及解决情况 226

10.5.2 未完善的功能 226

10.6 小结 226

10.7 源代码 226

10.8 操作说明 246

第11章 综合实例开发:Eliminator 247

11.1 游戏简述 247

11.2 游戏启动画面 247

11.3 游戏主菜单 249

11.3.1 主菜单外观 249

11.3.2 基本主菜单 250

11.3.3 包含子菜单的主菜单 254

11.3.4 菜单设计的建议和提高 262

11.4 异常处理 262

11.5 设置和高分记录 263

11.5.1 RMS数据结构 263

11.5.2 设置Settings和高分记录High Score设计 264

11.5.3 源代码 264

11.6 地形(卷动背景) 276

11.6.1 游戏场景 276

11.6.2 一个简单Terrain(地形) 278

11.6.3 多重地形的地图类 284

11.7 玩家和子弹 289

11.7.1 玩家 289

11.7.2 子弹 290

11.7.3 源代码 290

11.7.4 游戏屏幕 293

11.8 场景切换 296

11.9 游戏内容 298

11.9.1 敌人 298

11.9.2 声音和振动 300