屡获殊荣的 J2ME Wireless Toolkit 已经成为 J2ME 开发应用程序的事实标准工具包。自从 2000 年初次亮相以来,该工具包一直在发展以赶上移动 Java 技术外观上快速改变的步伐。不要被从 2.1 版本以来的小改变所误导。新的工具包在四个重要的领域支持 Java Community Process (JCP) 所指定的新的可选 API:3D 图形、多媒体通信、蓝牙连网(Bluetooth networking)和数据管理。本文将描述这些新的 API 并且向您展示如何在工具包中实现他们。
在这之前,让我们赞美一下更新后的 DefaultColorPhone 模拟器皮肤,自从 2.1 版本以来,该皮肤已有了一个更大的屏幕(320 x 240, 或 QVGA)和更多的颜色(4096 色而不是 256 色)。
移动 3D 图形
JSR 184, 即 Mobile 3D 图形 API for J2ME (M3G) 在一个集成软件包中提供了三维图形功能,适用于支持最为广泛采用的 J2ME 软件栈、有限连接设备配置(CLDC)和移动信息设备描述(MIDP)的设备。API 为显示 3D 内容提供了两种 API。立即模式 API 使应用程序能够直接创建和操纵 3D 元素。这一层之上是一个场景图 API,也称为保留模式,能够提早加载并显示已设计的整个 3D 场景。应用程序可以采用最适合的 API,或保留模式与立即模式的组合。JSR 184 规范还为场景图定义了一种文件格式-.
m3g。
该工具包的模拟器全面支持 JSR 184,并且有几个 MIDlet 展示了 API 在 Demo3D 项目中的功能。
Life3D
演示了立即模式的使用:
PogoRoo
是一个的交互的演示,特点是显示一只跳跃的袋鼠:
最后,retainedmode
显示了如何加载并呈现场景图文件:
多媒体通信
J2ME Wireless Toolkit 长期支持 JSR 120、Wireless Messaging API(WMA)的1.1版本;新版本支持 WMA 2.0(JSR 205),其把 WMA 的功能扩展到包括多媒体通信。
在工具包中,通信发生于模拟的环境中。如果多次运行模拟器,模拟器上的应用程序能够相互通信,并且可以使用工具包方便的 WMA Console 实用程序在同一环境中与应用程序交换消息。通信可以遵照以下三种标准协议之一:短消息服务(Short Message Service,SMS)、蜂窝广播服务(Cell Broadcast Service,CBS)或工具包 2.2 版本中的新协议-多媒体通信服务(MMS)。
您可以标记 MMS 消息,并向消息添加任何文件集合。
而且,现在网络监视器能够显示模拟器发送或接收的 MMS 消息。
蓝牙和 OBEX
J2ME Wireless Toolkit 模拟器支持 JSR 82,即 Java API for Bluetooth,包括两个独立的 API:
该工具包允许在即使没有实际蓝牙硬件的情况下,也可以开发和测试采用蓝牙技术的应用程序。该工具包模拟蓝牙环境,您可以在该环境中运行可相互发现的多个模拟器实例和使用蓝牙 API 交换数据。
应用程序实例 BluetoothDemo
显示了如何从一个模拟器将图像传输到另一个模拟器。
J2ME Wireless Toolkit 通过模拟的蓝牙和红外连接上实现 OBEX 传输。模拟的红外连接遵循 Infrared Data Association 定义的 IrDA 标准。工具包在多个运行的模拟器之间模拟红外传输。
您可以使用工具包参数中的 Bluetooth/OBEX 标签来配置蓝牙和 OBEX 环境。其控制了诸如模拟器在模拟的蓝牙环境中试图用多长时间去发现其他设备,以及最大数据包大小等参数。请参见工具包的用户指南获取更多的详细信息。
本地文件和个人信息
J2ME Wireless Toolkit 支持 JSR 75,即 PDA Optional Packages for the J2ME Platform,它也包括两个独立的 API:
FileConnection
API 提供了 MIDlet 对设备上本地文件系统的访问。 一台真实的设备可能有一个能通过使用 FileConnection
API 访问的本地文件系统。在 J2ME Wireless Toolkit 模拟器中,模拟的文件系统作为硬盘上的一个目录存在。
应用程序使用 FileConnection
可访问的文件都存放在子目录 appdb
/<skin>/filesystem
.中,此处 <toolkit> 是 J2ME Wireless Toolkit 的安装目录,<skin> 是模拟器皮肤的名称。例如,DefaultColorPhone
模拟器皮肤随安装根目录 root1
而产生,包含一个 Readme
文件。文件的完整路径为<toolkit>/appdb
/DefaultColorPhone
/filesystem
/root1
/Readme。
您可以从模拟器窗口的菜单种选择 MIDlet > External events 来管理可用的根目录。您将看到一个添加和删除根目录的小的实用程序窗口。这些操作也将为 registered listener 对象生成事件。
在真实的设备上,个人信息可能以专有格式存储在内存中。模拟器使用硬盘中的一个目录来存放这些信息,可使用 PIM API 来访问。所有的信息存储在 <toolkit>/appdb
/pim
目录中。列表存储在联系人、事件和计划目录的子目录中。例如,联系人列表 Contacts 位于 <toolkit>/appdb
/pim
/contacts
/Contacts
目录中。
在列表目录内,列表项以 Internet Mail Consortium 指定的标准格式存储。联系人以 vCard 格式存储,日历和计划项都以 vCalendar 格式存储。
结束语
J2ME Wireless Toolkit 2.2 不仅仅是一个出色工具的增量更新。它包括了对令人激动的四项新规范的支持,同时定义了六种新的 API。随着无线 Java 技术世界的快速发展,J2ME Wireless Toolkit 紧紧跟随发展的步伐并且包含您所需的全部工具。
关于作者