当前位置:首页 > 工业技术
J2ME无线设备程序设计  第2版
J2ME无线设备程序设计  第2版

J2ME无线设备程序设计 第2版PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:(美)Roger Riggs等著;肖炜,郭晓刚译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7120000039
  • 页数:433 页
图书介绍:本书由J2ME平台创始者Sun公司和Nokia等主要消费设备制造厂商的专家撰写,内容权威,全面介绍了Java 2 Platform, Micro Edition(J2ME)的整体架构,特别重点讨论了两个关键的J2ME标准:Connected, Limited Device Configuration(CLDC)1.1版和Mobile Information Device Profile(MIDP)2.0版,主要包括CLDC类库、MIDP应用程序模型、MIDP用户界面库、MIDP高层用户接口、MIDP低层用户接口、MIDP Sound API、MIDP持久库、MIDP网络和串行通信、网络安全、事件驱动的应用程序启动、MIDlet套件安全性、MIDlet的部署、附加MIDP API等内容,完整覆盖J2ME平台开发的各个方面的技术,并附有CLDC应用程序编程接口和MIDP应用程序编程接口的API参考大全,是J2ME平台开发领域最权威参考书籍之一。对从事无线移动设备开发的软件开发人员来说,本书是一本必备的参考书。
《J2ME无线设备程序设计 第2版》目录

第1章 简介 1

1.1 无线Internet革命 1

1.2 为什么要在无线设备上应用Java技术 2

译序 3

目录 3

1.3 简短的历史回顾 3

1.4 J2METM标准化的成果 4

第2章 J2ME概述 7

2.1 Java 2平台 7

图索引 8

图2.1 Java 2平台各版本和它们的目标市场 8

2.2 Java 2 Platform,Micro Edition(J2ME) 9

2.3 J2ME架构的关键概念 10

图2.2 J2ME设备的软件层次 12

2.3.1 Profiles 12

2.3.2 Configurations 14

图2.3 J2ME的configuration和Java 2 Standard Edition间的关系 16

2.3.3 可选包(Optional Packages) 17

2.4 J2ME平台的演进 17

2.4.1 J2ME核心标准化的成果 18

2.4.2 无线通讯领域的可选包 19

序 19

前言 21

第3章 目标、要求和范畴 23

3.1 主要目标 23

3.1.2 第三方应用程序开发 24

3.1.1 Java应用程序和内容的动态部署 24

图3.1 下载定制的服务 25

3.1.3 独立于任何网络技术标准 25

3.2 目标设备 26

3.1.4 与其他无线应用程序标准的兼容性 26

图3.2 CLDC和MIDP的目标设备 27

致谢 27

图3.3 单手、双手和笔触式操作的移动信息设备 28

3.3 泛论消费类设备和嵌入式系统 28

3.4 要求 30

3.4.1 CLDC的硬件要求 31

3.4.2 MIDP的硬件要求 32

3.4.3 CLDC的软件要求 32

3.4.4 MIDP的软件要求 33

3.4.5 J2ME的要求 34

3.5.2 MIDP的范畴 35

3.5 CLDC及MIDP标准涉及的范畴 35

3.5.1 CLDC的范畴 35

第4章 Connected Limited Device Configuration 39

4.1.2 CLDC 1.1专家组 40

4.1.1 CLDC 1.0专家组 40

4.1 CLDC专家组 40

4.2.1 架构概述 41

4.2 CLDC架构、应用程序模型和安全性 41

4.2.2 Java应用程序的概念 42

图4.1 CLDC目标设备的大体架构 42

4.2.3 应用程序安全性 43

4.2.4 应用程序管理 45

4.3 对Java语言规范的兼容性 46

43.1 不支持类实例的Finalization 47

4.3.2 错误处理上的局限 47

4.4 对Java虚拟机规范的兼容性 48

4.4.1 从虚拟机中去除的特性 48

4.4.2 类文件验证 50

图4.2 CLDC的两阶段类文件验证过程 51

4.4.3 类文件格式和类装载 52

4.5 CLDC 1.1的新特性 55

第5章 CLDC类库 57

5.1 背景和目标 57

5.2.1 系统类 58

5.2 继承自J2SE的类 58

5.2.4 输入/输出类 59

5.2.3 集合容器类 59

5.2.2 数据类型类 59

5.2.7 异常和错误类 60

5.2.6 其他附加类 60

5.2.5 日历和时间类 60

5.2.8 弱引用(Weak References) 62

5.2.9 国际化支持 62

5.2.10 对系统属性的支持 63

5.3 CLDC特有的类 64

5.3.1 背景和动机 64

5.3.2 通用连接(Generic Connection)框架 65

图5.1 Connection接口继承树 66

5.3.4 通用连接(Generic Connection)接口小结 67

5.3.3 CLDC不包含网络协议的具体实现 67

5.4 CLDC 1.1的新特性 70

第6章 Mobile Information Device Profile 73

6.1.2 MIDP 2.0专家组 74

6.1.1 MIDP 1.0专家组 74

6.1 MIDP专家组 74

6.2 MIDP规范涵盖的领域 76

7.1 MIDlet 79

第7章 MIDP应用程序模型 79

7.1.1 MIDlet的状态 82

图7.1 MIDlet的状态和状态转换 82

7.1.2 statApp,pauseApp和destroyApp方法的用法 84

7.1.3 程序生命期和用户界面API 87

7.3 MIDP 2.0的新特性 88

7.2 MIDlet套件(Suites) 88

第8章 MIDP用户界面类库 89

8.2 MIDP用户界面API的结构 90

8.1 与桌面AWT相比的MIDP用户界面 90

8.2.1 可显示模型(Displayable Model) 91

图8.1 MIDP用户界面类的阶层体系 92

8.2.2 底层用户界面 93

8.2.3 高层用户界面 93

8.3 Display类 95

8.3.1 当前可显示(Current Displayable) 96

8.4 Displayables 97

8.3.2 屏幕背光和设备振动器 97

8.4.1 Ticker 99

8.5.1 映射到设备用户界面的命令 100

8.5 命令(Command) 100

8.5.2 Command特性 101

8.5.3 命令类型 102

8.5.4 命令监听者(Command Listeners) 105

8.6.2 适应特定设备用户界面样式 106

8.6.1 系统屏幕 106

8.6 高级话题 106

8.6.3 设备提供的操作 107

8.6.4 同步性 108

8.7 MIDP 2.0的新特性 109

9.1 列表List 111

第9章 MIDP高层用户界面——Screen 111

9.1.1 隐含列表(Implicit List) 113

9.1.2 单选列表(Exclusive Choice List) 115

9.1.4 长列表元素(Long List Elements) 116

9.1.3 多选列表(Multiple Choice List) 116

9.1.5 列表元素字体 117

9.2 文本框(TextBox) 118

9.2.1 输入约束(Input Constraints) 119

9.2.2 输入模式(Input Modes) 121

9.3 警告(Alert) 122

9.3.2 行为指示器(Activity Indicator) 124

9.3.1 警告中的命令 124

9.4 窗体(Form) 125

9.5 MIDP 2.0的新特性 126

第10章 MIDP高层用户界面——Form 129

10.1 Item类 129

10.1.1 ItemStateListener 129

10.1.2 条目命令 130

10.2 StringItem类 130

10.2.1 外观模式 131

10.3 ImageItem类 132

10.4 TextField类 133

10.5 DateField类 134

10.6 ChoiceGroup类 135

10.7 Gauge类 135

10.8 CustomItem类 136

10.8.1 交互模式 137

10.8.2 遍历(Traversal) 138

10.9 窗体布局 139

图10.1 窗体布局通用原则 139

10.9.1 行间断 140

10.9.3 当前对齐 141

10.9.2 标签布局 141

10.9.4 条目尺寸 142

图10.2 由设备实现固定的条目布局规则 142

10.9.5 行填充 143

10.9.6 间隔 145

10.10 MIDP2.0的新特性 145

图10.3 应用垂直和水平的布局指示 145

11.1 Canvas API 149

第11章 MIDP低层用户界面类库 149

11.1.2 重绘机制 150

11.1.1 Canvas的范围 150

11.1.3 绘制模型 151

11.1.4 Canvas的可见性 151

11.2.1 按键事件 152

11.2.2 动作按键(Action Keys) 152

11.2 Canvas的低层事件API 152

11.3 Grphics 153

11.3.1 坐标系统 153

11.2.3 指点事件(Pointer Events) 153

11.3.2 修剪(Clipping) 154

11.3.3 坐标变换 154

图11.1 像素的坐标系统,图中表示的点的坐标为(4,3) 154

11.3.4 色彩模型 155

11.3.5 线条风格 155

11.3.6 字体 156

11.4.1 不可变图像 156

11.4 创建和使用图像 156

11.4.2 可变图像 157

11.4.3 透明度和Alpha合成 157

11.4.4 获取RGB数据 158

图11.2 getRGB方法示例 159

图11.3 图像渲染的锚点 159

11.4.5 锚点(Anchor Points) 159

11.5.1 绘制线条 160

图11.4 文字渲染的锚点 160

11.5 基本绘制操作 160

图11.6 drawArc方法示例 161

图11.5 drawLine方法示例 161

11.5.2 弧形的绘制和填充 161

图11.7 fillArc方法示例 162

11.5.3 矩形的绘制和填充 162

图11.9 fillRect方法示例 163

图11.8 drawRect方法示例 163

图11.10 drawRoundRect方法示例 164

11.5.4 圆角矩形的绘制和填充 164

图11.11 fillRoundRect方法示例 165

图11.12 fillTriangle方法示例 165

11.5.5 三角形的填充 165

11.5.7 绘制图像 166

11.5.6 绘制文字 166

图11.13 drawImage方法示例 167

图11.14 绘制Image的变换 167

11.5.8 绘制RGB数据 168

图11.15 drawRegion方法示例 168

图11.16 drawRGB方法示例 169

11.5.9 像素区域的复制 169

11.6 MIDP 2.0的新特性 170

图11.17 copyArea方法示例 170

第12章 MIDP Game API 173

12.1 GameCanvas 173

12.1.1 按键查询(Key Polling) 174

图12.1 游戏循环流程图 174

12.2 Layer 175

12.1.2 屏幕缓冲 175

图12.2 图像帧在Image内部可以以各种方式排放 176

12.3 Sprite 176

12.3.1 帧 176

图12.3 Image中的每一帧都被赋予一个索引号 177

12.3.2 帧序列 178

图12.4 一个特殊帧序列的例子 178

图12.5 一枚图钉钉在引用像素的中心 179

12.3.3 引用像素(Reference Pixel) 179

12.4 TiledLayer 180

12.4.1 图块(Tile) 180

12.3.4 变换(Transform) 180

图12.7 TiledLayer从Image对象获取它的静态图块集合 181

图12.6 引用像素作为Sprite进行变换的中心 181

12.4.2 单元格(Cell) 182

图12.8 按要求用图块索引填充TiledLayer的单元格 183

图12.9 TiledLayer的外观 183

图12.10 对动态图块的更新被反映到所有指向它的单元格 184

12.5 LayerManager 184

图12.11 设置观察窗口 185

图12.12 在指定位置绘制观察窗口的内容 186

12.6.1 矩形框冲突检测 186

12.6 冲突检测 186

图12.13 设置矩形冲突检测框 187

12.6.2 像素级冲突检测 187

12.7 示例代码:一个简单的游戏 188

图12.15 像素级冲突检测 188

图12.14 边界级冲突检测 188

图12.16 游戏的截屏图 189

12.8 MIDP 2.0的新特性 195

第13章 MIDP Sound API 197

13.1 MIDP 2.0 Sound API概述 197

13.1.1 MIDP支持的媒体 197

13.1.2 设计目标 198

13.1.3 需求 199

13.1.4 MIDP Sound的架构 200

图13.2 MIDP Sound API的类图 202

图13.1 MIDP Sound API架构概览……………………………………………………20l 202

13.2.1 管理媒体框架 202

13.2 播放器的创建和管理 202

13.2.2 为媒体数据创建播放器 203

图13.3 MIDP Sound API Player状态图 205

13.2.3 音调生成 206

13.2.4 示例代码 207

13.3 媒体控件 208

13.3.1 ToneControl 208

13.3.2 VolumeControl 211

13.3.3 定制控件 211

13.3.4 示例代码 211

13.4 Mobile Media API增强的媒体支持 217

13.4.2 高级控件 218

13.4.1 DataSource 218

13.5 MIDP 2.0的新特性 219

14.1 记录管理系统 221

第14章 MIDP持久库 221

图14.1 存储记录的结构 222

图14.2 RMS命名空间区隔 223

14.2.1 操作一个存储记录 223

14.2 操作存储记录和记录 223

14.2.2 共享的存储记录 225

14.2.4 记录数据与字节数据的相互转换 226

14.2.3 操作存储记录中的记录 226

14.2.5 过滤、比较、监听和枚举记录 227

14.3 例子代码(RMSMIDlet.java) 231

14.4 MIDP 2.0新特性 241

第15章 MIDP网络和串行通信 243

15.1 无线数据网络的特性 243

15.2 关于网络接口的考虑 244

15.3 HttpConnection接口 245

15.3.1 HTTP连接状态 245

15.3.2 HTTP安全性 246

15.3.3 建立连接 246

15.3.4 对URL的语法分析 247

15.3.5 HTTP请求头标 248

15.3.6 使用HTTP连接 250

15.3.7 HTTP响应头标 252

15.3.8 关闭HTTP连接 253

15.4 一个例子(NetClientMIDlet.java) 253

15.5 SocketConnection 264

15.5.1 取得本地地址和端口号 264

15.5.2 取得远程主机的地址和端口号 265

15.5.3 读取和设置套接字选项 265

15.5.6 例子 266

15.5.5 SocketConnection的安全性 266

15.5.4 关闭流 266

15.6 ServerSocketConnection 267

15.6.1 获取本地地址和端口地址 267

15.6.2 ServerSocketConnection的安全性 268

15.6.3 例子 268

15.7 UDPDatagramConnection 269

15.7.1 取得本地地址和端口号 269

15.7.3 关闭连接 270

15.7.2 数据报 270

15.7.4 UDPDatagramConnection的安全性 271

15.7.5 例子 271

15.8 CommConnection 272

15.8.1 串行口速率的获取和设置 273

15.8.2 CommConnection的安全性 274

15.8.3 命名端口的好习惯 274

15.8.4 例子 274

15.9 MIDP 2.0的新特性 276

第16章 安全网络 277

16.1 检查一个连接的安全属性 278

16.1.1 服务器证书 279

16.1.2 X.509识别名的可打印表示规范 280

16.2.1 HttpsConnection的安全性 281

16.2 HttpsConnection 281

16.2.2 例子 282

16.3 SecureConnection 283

16.3.1 SecurityConnection的安全性 284

16.3.2 例子 284

16.4 MIDP X.509证书原型 285

16.4.3 算法支持 286

16.4.4 HTTPS的证书处理过程 286

16.4.1 证书扩展 286

16.4.2 证书大小 286

16.5 MIDP 2.0里新加进的特性 287

第17章 事件驱动的应用程序启动 289

17.1 基于警告的MIDlet启动 289

17.2 基于网络的MIDlet启动 291

17.2.1 注册要启动的MIDlet 291

17.2.2 静态推注册机制 292

17.2.3 动态推注册机制 294

17.3 监听和启动 295

17.4 在启动后处理连接 296

17.5 推注册(Push Registry)的安全 297

17.6 样例使用场景 298

17.6.1 聊天程序例子 298

17.6.2 Ping程序例子 300

17.7 MIDP 2.0新特性 303

第18章 MIDlet套件的安全性 305

18.1 假设 306

18.2 针对不可信MIDlet套件的沙盒 307

18.3 可信任的MIDlet套件安全模型 308

18.3.1 许可 308

18.3.2 为一个MIDlet套件请求许可 310

18.3.3 保护域 311

18.3.4 用户许可的交互模式 311

18.3.5 批准对可信任MIDlet套件的许可 312

18.4 对安全不敏感的API 313

18.5 使用X.509 PKI为MIDlet套件建立信任 313

18.5.1 签署一个MIDlet套件 314

18.5.2 认证一个MIDlet套件 317

18.5.3 认证和授权结果缓存 320

18.5.4 可信任的MIDlet套件的X.509注册Profile 320

18.6 对GSM/UMTS设备的推荐安全策略 321

18.7 MIDP 2.0的新特性 321

19.1 MIDlet套件 323

第19章 MIDlet的部署 323

19.1.2 应用程序描述文件 324

19.1.1 打包MIDlet套件 324

19.1.3 MIDlet属性 325

19.1.4 MIDlet套件执行环境 330

图19.1 MIDlet套件的名字空间 330

19.3 用户发起的无线程序供应 332

19.2 MIDP系统软件 332

图19.2 OTA下载流程。斜体部分是可选的 333

19.3.2 删除MIDlet套件 334

19.3.1 更新MIDlet套件 334

19.3.3 安装和删除状况报告 335

19.3.4 安装状况代码和消息 336

19.4 MIDP 2.0的新特性 337

第20章 附加MIDP API 339

20.1 定时器支持 339

20.1.1 使用单次定时器 340

20.1.2 使用重复定时器 341

20.1.3 示例代码(TimerMIDlet.java) 342

20.2 系统属性 346

20.3 应用程序资源文件 347

20.4 退出MIDlet 347

第21章 总结 349

参考文献 353

附录A CLDC应用程序编程接口 355

API大全凡例 356

CLDC API大全 359

附录B MIDP应用程序编程接口 391

MIDP API大全 393

索引 425

相关图书
作者其它书籍
返回顶部