1、 附件 1:外文资料翻译译文 移动设备的应用平台 J2ME 简介 1.什么是 J2ME: J2ME(Java 2 Micro Edition)是 Java 2 的一个组成部分,它与 J2SE、 J2EE 并称。根据 Sun 的定义: J2ME 是一种高度优化的 Java 运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。 J2ME技术在 1999 年的 JavaOne Developer Conference 大会上正式推出,它将 Java 语言的与平台无关的特性移植到小型电子设备上 ,允许移动无线设备之间共享应 用程序。 J2ME 在设计其规格的时候,
2、遵循着对于各种不同的装置而造出一个单一的开发系统是没有意义的事这个基本原则。于是 J2ME 先将所有的嵌入式装置大体上区分为两种 :一种是运算功能有限、电力供应也有限的嵌入式装置 (比方说 PDA 、手机 );另外一种则是运算能力相对较佳、并请在电力供应上相对比较充足的嵌入式装置 (比方说冷气机、电冰箱、电视机上盒 (set-top box)。因为这两种型态的嵌入式装置,所以 Java 引入了一个叫做 Configuration 的概念,然后把上述运算功能有限、电力有限的嵌入 式装置定义 Connected Limited Device Configuration(CLDC)规格之中;而另外一
3、种装置则规范为 Connected Device Configuration(CDC) 规格。也就是说 ,J2ME 先把所有的嵌入式装置利Configuration 的概念区隔成两种抽象的型态。 其实在这里大家可以把 Configuration 当作是 J2ME 对于两种类型嵌入式装置的规格,而这些规格之中定义了这些装置至少要符合的运算能力、供电能力、记忆体大小等规范,同时也定了一组在这些装置上执行 的 Java 程序所能使用的类别函式库、这些规范之中所定义的类别函式库为 Java 标准核心类别函式库的子集合以及与该型态装置特性相符的扩充类别函式库。比方就 CLDC 的规范来说,可以支援的核心
4、类别函式库为 java.lang.* 、 java.io.*、 java.util.*,而支援的扩充类别函式库为 java.microedition.io.*。区分出两种主要的 Configuration 之后,J2ME 接著在定义出 Profile 的概念。 Profile 是架构在 Configuration 之上的规格。之所以有 Profile 的概念,是为了要更明确地区分出各种嵌入式装置上 Java 程序该如何开发以及它们应该具有哪些功能。因此 Profile 之中定义了与特定嵌入式 装置非常相关的扩充类别函式库,而 Java 程序在各种嵌入式装置上的使用者介面该如何呈现就是定义在 P
5、rofile 里头。 Profile 之中所定义的扩充类别函式库是根据底层 Configuration 内所定义的核心类别函式库所建立。 2. J2ME Wireless Toolkit 2.2 新改进 J2ME Wireless Toolkit 已经成为 J2ME 开发应用程序的事实标准工具包。自从 2000 年初次亮相以来,该工具包一直在发展以赶上移动 Java 技术外观上快速改变的步伐。不要被从 2.1 版本以来的小改变所误导。新的工具包在四个重要的领域支持 Java Community Process (JCP) 所指定的新的可选 API: 3D 图形、多媒体通信、蓝牙连网( Blue
6、tooth networking)和数据管理。本文将描述这些新的 API 并且向您展示如何在工具包中实现他们。在这之前,让我们赞美一下更新后的 DefaultColorPhone 模拟器皮肤,自从 2.1 版本以来,该皮肤已有了一个更大的屏幕( 320 x 240, 或 QVGA)和更多的颜色( 4096 色而不是 256 色)。 2.1 移动 3D 图形 : JSR 184, 即 Mobile 3D 图形 API for J2ME (M3G) 在一个集成软件包中提供了三维图形功能,适用于支持最为广泛采用的 J2ME 软件栈、有限连接设备配置( CLDC)和移动信息设备描述( MIDP)的设备
7、。 API 为显示 3D 内容提供了两种 API。立即模式 API 使应用程序能够直接创建和操纵 3D 元 素。这一层之上是一个场景图 API,也称为保留模式,能够提早加载并显示已设计的整个 3D 场景。应用程序可以采用最适合的 API,或保留模式与立即模式的组合。JSR 184 规范还为场景图定义了一种文件格式 .m3g。 该工具包的模拟器全面支持 JSR 184,并且有几个 MIDlet 展示了 API 在 Demo3D 项目中的功能。 Life3D 演示了立即模式的使用 。 PogoRoo 是一个的交互的演示,特点是显示一只跳跃的袋鼠 。 2.2 多媒体通信 : J2ME Wireles
8、s 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 版本中的新协议
9、多媒体通信服务( MMS)。 您可以标记 MMS 消息,并向消息添加任何文件集合 。 而且,现在网络监视器能够显示模拟器发送或接收的 MMS 消息。 2.3 蓝牙和 OBEX: J2ME Wireless Toolkit 模拟器支持 JSR 82,即 Java API for Bluetooth,包括两个独立的 API: 蓝牙 API 为蓝牙无线网络提供了接口,包括设备恢复和数据交换。 OBEX API 允许应用程序在蓝牙或其他通信信道上使用对象交换( Object Exchange, OBEX)协议。 该工具包允许在即使没有实际蓝牙硬件的情况下,也可以开发和测试采用蓝牙技术的应用程序。该工具
10、包模拟蓝牙环境,您可以在该环境中运行可相互发现的多个模拟器实例和使用蓝牙 API 交换数据。 应用程序实例 BluetoothDemo 显示了如何从一个模拟器将图像传输到另一个模拟器。 J2ME Wireless Toolkit 通过模拟的蓝牙和红外连接上实现 OBEX 传输。模拟的红外连接遵循 Infrared Data Association 定义的 IrDA 标准。工具包在多个运行的模拟器之间 模拟红外传输。 您可以使用工具包参数中的 Bluetooth/OBEX 标签来配置蓝牙和 OBEX 环境。其控制了诸如模拟器在模拟的蓝牙环境中试图用多长时间去发现其他设备,以及最大数据包大小等参数。请参见工具包的用户指南获取更多的详细信息。 2.4 无线开发工具包 ( WTK): WTK 的全称是 Sun J2ME Wireless Toolkit Sun 的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化 j2me 的开发过程。使用其中的工具可以开发与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的 j2me 应用程序。该工具箱包含了完整的生成工具、实用程