首页>参考读物>计算机科学与技术>软件与程序设计

MIDP和MSA移动应用开发
作者 : Jonathan Knudsen
译者 : 付蓉
出版日期 : 2008-12-01
ISBN : 7-111-25058-6
定价 : 48.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 288
开本 : 16开
原书名 : Kicking Butt with MIDP and MSA:Creating Great Mobile Applications
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

MIDP 2.0的发布和新的移动服务框架(MSA)的引入为Java ME平台的发展带来了动力,越来越多的支持Java的移动设备投入使用,越来越多的服务提供商对第三方开发人员开放,对自定义应用的需求也将惊人地增长。现在,这里就有一个实用、现成的向导来帮助你建立健壮的、有响应的、可维护的和轻松有趣的MIDP 2.0/MSA应用程序。
资深Java ME作者Jonathan Knudsen为代码效率、应用程序设计、受限移动环境下易用性的复杂挑战提供了实际的解决方案。经验丰富的Java开发人员通过这些有条理的、精心设计的示例就可以掌握MIDP 2.0和MSA程序设计。本书的代码不仅适用于NetBeans移动工具包,也适用于Sun Java无线工具包。

本书的内容包括:
  ■最大限度地利用MIDP和MSA。
  ■使用MIDlet套件、窗口、命令、核心类和规则。
  ■创建有效的移动用户界面。
  ■使用画布、游戏API、SVG和3D设计图形。
  ■提供了存取和资源:记录存储、FileConnection和PDA PIM。
  ■使移动应用程序国际化。
  ■通过WMA、蓝牙、Web服务和SIP进行网络连接。
  ■解析XML文档。
  ■实现音频和高级多媒体应用。
  ■实现SATSA和付费API的安全性。
  ■创建高级定位API。
  ■为多种设备设计应用程序。
  ■创建端到端的移动应用程序架构。

图书特色

封底文字

MIDP 2.0的发布和新的移动服务框架(MSA)的引入为Java ME平台的发展带来了动力,越来越多的支持Java的移动设备投入使用,越来越多的服务提供商对第三方开发人员开放,对自定义应用的需求也将惊人地增长。现在,这里就有一个实用、现成的向导来帮助你建立健壮的、有响应的、可维护的和轻松有趣的MIDP 2.0/MSA应用程序。 资深Java ME作者Jonathan Knudsen为代码效率、应用程序设计、受限移动环境下易用性的复杂挑战提供了实际的解决方案。经验丰富的Java开发人员通过这些有条理的、精心设计的示例就可以掌握MIDP 2.0和MSA程序设计。本书的代码不仅适用于NetBeans移动工具包,也适用于Sun Java无线工具包。 本书的内容包括: ■最大限度地利用MIDP和MSA。 ■使用MIDlet套件、窗口、命令、核心类和规则。 ■创建有效的移动用户界面。 ■使用画布、游戏API、SVG和3D设计图形。 ■提供了存取和资源:记录存储、FileConnection和PDA PIM。 ■使移动应用程序国际化。 ■通过WMA、蓝牙、Web服务和SIP进行网络连接。 ■解析XML文档。 ■实现音频和高级多媒体应用。 ■实现SATSA和付费API的安全性。 ■创建高级定位API。 ■为多种设备设计应用程序。 ■创建端到端的移动应用程序架构。

图书序言

手机作为应用程序的开发平台这一过程已经真真实实地蹒跚了8年之久。甚至早期的手机除了性能和交互性之外已经很令人兴奋。但是随着平台引人注目的快速增长和成熟,它们在游戏上的增长已经远远超过了开始的成功。移动信息设备(Mobile Information Device Profile, MIDP)第二代已经广泛使用,在此之上的API极大地丰富了开发者的环境:开始是JTWI(无线产业的Java技术),而现在最近则是MSA(移动服务框架)。
  对于那些等待为这些现代平台编写软件的开发者来说,本书是你的良伴。它不是一本参考手册:而是一个放在你手边的向导。最好在你面前还有一台计算机,这样你就可以在本书相关网站的帮助下运行大量的代码。本书的优点之一就是它超越了API,并介绍如何利用NetBeans中的移动开发属性,快速、简单地开发和调试复杂的应用程序。
  手机不仅没有必要限制运行小的、本机的应用程序和游戏,而且在MIDP2和相关API的帮助下,它们有充分的资格参与到网络中。本书将会告诉你如何简单、有效地构建这类程序。

  James Gosling, Java语言之父

作者简介

Jonathan Knudsen:暂无简介

译者简介

付蓉:暂无简介

译者序

本书全面覆盖了手机程序设计的各个方面,不仅包括了手机游戏还包括手机的其他应用程序的开发。在翻译的过程中,本书给我的惊喜不断。本书循序渐进,一步一步地引导读者逐渐走入MIDP的广阔天地,如果你能够像作者所说的那样,一边读书一边在身旁的计算机上敲敲打打,那么不需要多长时间,你就能很快融入本书所描述的奇妙世界。
  作为一名致力于大学计算机本科教学的教师,我认为本书非常适合自学,它像一个家教一样,陪在你身边,从开发平台的配置、程序资源的下载、到各种应用程序的创建,一一详细地告诉你。
  最近两年,我在带领学生做本科毕业设计时,在众多题目中,手机游戏设计是学生最喜欢的一种。兴趣是最好的老师,因为喜欢,所以投入,因为投入,所以得到的结果相当的不错,每年都有学生设计的游戏得到了毕业设计的优秀。
  作为一名多年从事Java程序开发的程序员,我发现本书所述内容处于技术的最前沿,甚至有些还未真正在实际手机设备上使用,但是这也保证了当你完成学习之后,你所掌握的知识不是过时的,甚至在一段时间内都是最新的。
  本书是手机程序开发人员的良伴,当你开发过程中遇到问题时,问问它,你会得到意想不到的答案。
  与原书作者一样,我也非常重视在读书过程中动手实践这一重要的部分,程序设计不是只靠读书读来的,而是动手的过程中从手刻画到头脑里的。再次希望大家在学习时一定要动手实现书中的示例程序,你会发现在动手的过程中,你为自己建立一个移动程序设计世界。
  在本书的翻译过程中,我一直都以傅雷先生所提出“信、达、雅”为信条,对不清楚的地方多次推敲,原书中有些涉及国外文化而国内读者不很理解的地方,我用自己的语言作出了一些解释。为了保证本书前后的一致连贯,我选择了独立翻译。因为一个人承担全部翻译工作,错误和疏忽在所难免,希望广大读者提供意见和建议。非常感谢。
  最后感谢我的妈妈,她的支持让我有充分的时间投入到我喜欢的翻译工作中,谢谢您。

  付蓉
  2008年10月

图书目录

译者序

前言

第一部分 基础知识
第1章 概述 1
1.1 无线时代的到来 1
1.2 MIDP—移动Java技术的灵魂 1
1.3 第一个集合:JTWI 2
1.4 更大的集合:MSA 2
1.5 了解MSA API 3
1.5.1 基础MIDP平台 3
1.5.2 高级网络 4
1.5.3 多媒体 4
1.5.4 高级图形 4
1.5.5 安全与交易 4
1.5.6 定位 5
1.5.7 高级应用程序 5
1.5.8 高级应用服务 5
1.6 看看MSA 1.0之外的世界 5
1.7 关于JavaFX Mobile 6
1.8 小结 6
第2章 工具 7
2.1 用于CLDC的Sun Java无线工具包:
一个烤面包机 7
2.2 NetBeans Mobility Pack:一个美食厨房 8
2.3 Eclipse 9
2.4 剖析MIDlet套件 9
2.5 创建一个MIDlet套件 10
2.6 命令行 10
2.7 预处理 11
2.8 混淆器 11
2.9 模拟器 11
2.10 设备测试 12
2.11 小结 12
第3章 快速入门 13
3.1 做一个能运行的东西 13
3.2 在屏幕上显示一些东西 14
3.3 让用户参与进来 15
3.4 在线获取源代码 16
3.5 小结 16
第4章 核心API 17
4.1 可能被忽略的Java虚拟机(JVM)的特性 17
4.2 字符串、基本数据类型和系统方法 18
4.3 线程 18
4.4 使用流来完成输入/输出 19
4.4.1 保持清晰 19
4.4.2 完整地读取输入数据 20
4.5 日期类、集合类和随机数类 20
4.6 小结 21
第二部分 MIDlet
第5章 MIDlet特性 23
5.1 MIDlet生命周期 23
5.1.1 AMS—MIDlet的操作者 23
5.1.2 关于布尔类型的形象unconditional 24
5.1.3 MIDlet套件可以控制自己的命运 25
5.2 使用浏览器和打电话 25
5.3 应用程序性质 25
5.4 保护域和有数字签名的MIDlet套件 26
5.5 许可 27
5.6 MIDlet套件标记的底线 28
5.7 小结 28
第6章 自动运行MIDlet套件 29
6.1 响应网络连接 29
6.1.1 动态注册 29
6.1.2 静态注册 30
6.1.3 查找到达的连接 30
6.1.4 一个Push注册的例子 30
6.2 在指定时间运行MIDlet套件 35
6.3 对内容作出响应 37
6.3.1 激活一个内容句柄 37
6.3.2 编写内容句柄MIDlet套件 39
6.3.3 把它们放到一起 44
6.3.4 注册静态内容句柄 45
6.4 小结 45
第三部分 用户界面
第7章 基本用户界面 47
7.1 如何显示屏幕 47
7.2 文本框—草丛里的矮子 48
7.3 输入模式 49
7.4 使用警告提示 49
7.5 图片一览 50
7.6 把它们放到一起 50
7.7 滚动条的好处 52
7.8 命令 52
7.9 命令布置 53
7.10 小结 54
第8章 更多用户界面 55
8.1 List 55
8.2 列表选项 56
8.3 处理列表事件 56
8.4 例子中的3个列表 57
8.5 高级列表控制 59
8.6 使用Form 59
8.7 使用项目 60
8.8 进度条 61
8.9 控制项目布局 63
8.10 请对Form负责 63
8.11 项目改变事件和项目命令 66
8.12 小结 68
第四部分 图  形
第9章 创建自定义界面 69
9.1 从显示中获取信息 69
9.2 绘图如何工作 70
9.3 设置颜色 70
9.4 画线和图形 72
9.5 画出文本 76
9.6 测量文本 77
9.7 创建图片 80
9.8 画图片 81
9.9 保持资源尽量小 84
9.10 在图片上画画 84
9.11 处理像素 86
9.12 剪辑 88
9.13 事件句柄 89
9.14 控制命令按钮布局 91
9.15 小结 93
第10章 自定义项目 94
10.1 自定义项目尺寸 94
10.2 绘图 94
10.3 一个非常好的等待指示器 94
10.4 在自定义项目中处理事件 97
10.5 内部遍历 98
10.6 一个交互的例子 99
10.7 小结 103
第11章 使用游戏API 104
11.1 GameCanvas的循环 104
11.2 使用层来构建屏幕 109
11.3 贴图层 109
11.4 Sprite 111
11.5 碰撞检测 112
11.6 组建屏幕场景 112
11.7 一个短小示例 113
11.8 小结 117
第12章 尺寸可变的向量图片 118
12.1 显示SVG内容的简单途径 118
12.2 运行动画文件 121
12.3 剖析一个SVG文件 123
12.4 在你的Canvas上显示一个SVG文件 126
12.5 创建新的SVG元素 127
12.6 SVG事件处理 131
12.7 小结 135
第13章 3D图形 136
13.1 创建M3G文件 136
13.2 显示3D内容的简易方法 136
13.3 复杂方法创建3D文件 140
13.4 小结 148
第五部分 存储和资源
第14章 记录内存 149
14.1 一个微型数据库 149
14.2 操作记录存储 150
14.3 操作记录 151
14.4 请求 151
14.5 通过记录迭代 152
14.6 保存记录的场所 152
14.7 小结 156
第15章 读写文件 157
15.1 快速开始 157
15.2 使用文件和目录 158
15.3 总有一席之地 159
15.4 查找图片、音乐和其他东西 159
15.5 根目录操作 160
15.6 询问许可 160
15.7 一个例子 160
15.8 小结 164
第16章 通讯录和日历 165
16.1 理解PIM API 165
16.2 操作列表 166
16.2.1 项目查询 166
16.2.2 字符串数组字段 167
16.2.3 标签 167
16.2.4 类别 168
16.2.5 联系人列表的特殊方法 168
16.2.6 日历和约会的特殊方法 168
16.2.7 要事列表的特殊方法 169
16.3 列表从哪里来 169
16.4 输入和输出 169
16.5 支持什么 170
16.6 不要忘记许可 170
16.7 示例 171
16.8 小结 180
第17章 移动国际化 181
17.1 关于本地化 181
17.2 使用资源 181
17.3 查找资源 182
17.4 资源层次 183
17.5 格式化数字和日期 184
17.6 字符串排序 185
17.7 让它工作起来 185
17.8 小结 190
第六部分 联  网
第18章 通用连接框架 191
18.1 建立连接 191
18.2 关闭连接 192
18.3 使用线程 193
18.4 通过HTTP实现图片上传 193
18.5 高级HTTP技术 195
18.6 成功技巧 196
18.7 使用HTTPS 196
18.8 其他连接类型 199
18.9 连接请求 202
18.10 连接许可 202
18.11 小结 203
第19章 文本和多媒体短信 204
19.1 为什么 204
19.2 发送信息 204
19.3 发送二进制信息 205
19.4 发送多媒体信息 206
19.5 接收信息 207
19.6 一个简单的短信应用程序 208
19.7 小结 212
第20章 蓝牙和OBEX 213
20.1 控制蓝牙 213
20.2 查找其他蓝牙设备和服务 213
20.3 简单方法 214
20.4 建立一个客户端连接 214
20.5 建立一个服务器 214
20.6 鉴定和封装 216
20.7 关于OBEX 216
20.8 不要忘记Push注册 218
20.9 蓝牙和OBEX许可 218
20.10 BlueChew应用程序 218
20.11  小结 229
第21章 XML和Web服务 230
21.1 解析XML 230
21.2 创建一个句柄 231
21.3 解析RSS 232
21.4 不用JSR 172解析XML 236
21.5 使用WS-* Web服务 236
21.6 让世界产生动力 240
21.7 Flickr移动客户端 241
21.8 小结 250
第22章 会话发起协议 251
22.1 理解SIP 251
22.2 开发工具 252
22.3 建立一个通知 252
22.4 发送请求 252
22.5 接收SIP请求并发送响应 253
22.6 GoSIP和SIPDemo 253
22.7 小结 254
第七部分 多 媒 体
第23章 录放音频和视频 255
23.1 烦人的背景知识 255
23.2 音调 256
23.3 使用播放器 256
23.4 支持的内容类型 258
23.5 线程与监听 258
23.6 进行控制 258
23.7 播放示例音频内容 259
23.8 播放视频内容 259
23.9 序列音播放器 261
23.10 交互式MIDI播放器 261
23.11 录音 262
23.12 捕捉视频 263
23.13 不可能使所有人都满意 263
23.14 关于MMMIDlet 264
23.15 小结 264
第24章 多媒体高级特性 265
24.1 图像处理 265
24.2 控制图像格式 267
24.3 音乐 267
24.4 3D音频 268
24.5 音频的特殊效果 269
24.6 更多的摄像头控制 269
24.7 普通的旧收音机 270
24.8 小结 270
第八部分 安全与交易
第25章 智能卡与加密技术 271
25.1 关于智能卡 271
25.2 用模拟器测试SATSA应用程序 272
25.3 基本智能卡通信 272
25.4 智能卡与Java卡RMI通信 272
25.5 创建签名 273
25.6 管理证书 273
25.7 加密 274
25.7.1 使用信息摘要 274
25.7.2 使用数字签名 274
25.7.3 使用密码 275
25.8 小结 275
第26章 手机支付 276
26.1 让我看到收入 276
26.2 匹配应用程序和支付方式 278
26.3 编辑支付款项信息 279
26.4 安全与支付 280
26.5 小结 280
第27章 知道你置身何处 281
27.1 短故事 281
27.2 一个更短的故事 282
27.3 更新接收周期的定位信息 282
27.4 关闭 282
27.5 路标数据库 283
27.6 方向 283
27.7 设备定位 283
27.8 小结 285
第28章 应用程序架构 286
28.1 借助Java ME的力量 286
28.2 借助网络的力量 286
28.3 不要把桌面程序压缩到Java ME
应用程序中 286
28.4 为多种设备开发 287
28.5 可拉伸的屏幕 287
28.6 让它正常工作 288
28.7 小结 288

教学资源推荐
作者: 赵宏,陈旭东,马迪芳
作者: 邱李华,曹青,郭志强
作者: [美] 凯·霍斯特曼(Cay Horstmann) 著
参考读物推荐
作者: 魏新宇 王洪涛 陈耿 著
作者: Rogers Cadenhead
作者: 陈春宝 徐筱刚 田建中 著