附件1:外文资料翻译译文
移动设备的应用平台—J2ME简介
1.什么是J2ME:
J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。根据Sun的定义:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。J2ME 技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
J2ME在设计其规格的时候,遵循着对于各种不同的装置而造出一个单一的开发系统是没有意义的事」这个基本原则。于是J2ME 先将所有的嵌入式装置大体上区分为两种:一种是运算功能有限、电力供应也有限的嵌入式装置(比方说PDA 、手机);另外一种则是运算能力相对较佳、并请在电力供应上相对比较充足的嵌入式装置(比方说冷气机、电冰箱、电视机上盒(set-top box))。因为这两种型态的嵌入式装置,所以Java 引入了一个叫做Configuration 的概念,然后把上述运算功能有限、电力有限的嵌入式装置定义Connected Limited Device Configuration(CLDC)规格之中;而另外一种装置则规范为Connected Device Configuration(CDC)规格。也就是说,J2ME 先把所有的嵌入式装置利Configuration 的概念区隔成两种抽象的型态。
其实在这里大家可以把Configuration 当作是J2ME 对于两种类型嵌入式装置的规格,而这些规格之中定义了这些装置至少要符合的运算能力、供电能力、记忆体大小等规范,同时也定了一组在这些装置上执行的Java 程序所能使用的类别函式库、这些规范之中所定义的类别函式库为Java 标准核心类别函式库的子集合以及与该型态装置特性相符的扩充类别函式库。比方就CLDC 的规范来说,可以支援的核心类别函式库为java.lang.* 、java.io.*、java.util.*,而支援的扩充类别函式库为java.microedition.io.*。区分出两种主要的Configuration 之后,J2ME 接著在定义出Profile的概念。Profile 是架构在Configuration 之上的规格。之所以有Profile的概念,是为了要更明确地区分出各种嵌入式装置上Java 程序该如何开发以及它们应该具有哪些功能。因此Profile 之中定义了与特定嵌入式
装置非常相关的扩充类别函式库,而Java 程序在各种嵌入式装置上的使用者介面该如何呈现就是定义在Profile 里头。Profile 之中所定义的扩充类别函式库是根据底层Configuration 内所定义的核心类别函式库所建立。
2. J2ME Wireless Toolkit 2.2 新改进
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 )。
2.1移动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 是一个的交互的演示,特点是显示一只跳跃的袋鼠。
2.2多媒体通信:
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 消息。
2.3蓝牙和OBEX:
J2ME Wireless Toolkit 模拟器支持JSR 82,即Java API for Bluetooth,包括两个独立的API:
蓝牙API 为蓝牙无线网络提供了接口,包括设备恢复和数据交换。
OBEX API 允许应用程序在蓝牙或其他通信信道上使用对象交换(Object Exchange,OBEX)协议。
该工具包允许在即使没有实际蓝牙硬件的情况下,也可以开发和测试采用蓝牙技术的应用程序。该工具包模拟蓝牙环境,您可以在该环境中运行可相互发现的多个模拟器实例和使用蓝牙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 应用程序。该工具箱包含了完整的生成工具、实用程
序以及设备仿真器。到本文写作时为止可以获取有四个版本,分别是1.0.4, 2.0, 2.1和2.2。每个版本都包括英语,日语,简体中文,繁体中文4个语种包。WTK 是Sun提供的一个开发工具包。目前各大手机厂商往往把WTK经过自身的简化与改装,推出适合自身产品,如SonyEricsson,Nokia Developer’s
suit等,都属于此种类型;而通过JBuilder, Eclipse等IDE,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。
无论哪个版本的WTK都会包括以下几个目录:
appdb目录:RMS数据库信息
apps目录:WTK自带的demo程序计算机专业java
bin目录:J2ME开发工具执行文件
docs目录:各种帮助与说明文件
lib目录:J2ME程序库,Jar包与控制文件
session目录:性能监控保存信息
wtklib目录:JWTK主程序与模拟器外观。
2.5 J2me数字签名:
得到一个证书后就可以对j2me的jad文件进行签名。这里有一些与签名相关的需要注意的一些问题。1. 想要安装签过名的软件,就必须通过jad来安装。我们知道j2me程序生成后会有jad和jar两个文件,一般情况下我们只需要安装jar文件就可以了。例如我会将jar文件通过蓝牙传到手机上,再进行安装。但如果想通过手动安装签过名的文件,就要通过jad来安装,而且要确保jad和jar文件是在相同目录下。我的做法是通过数据线将两个文件拷入手机的内存或存储卡上,然后通过jad来安装,这样安装好的软件就是签过名的软件了。不会再有总是很烦人的询问用户是否允许操作的提示信息。但就我看过的手机看来,应该是不同的手机有不同的表现。例如索爱的手机关于提示仍然是需要用户自己设置的。诺基亚也是。只是诺基亚的在使用非签名软件时用户无法设置为“总是允许”或“只提示一次”。而签了名的就可以设置了。2. 编程人员需要注意,像很多功能在未签名前是可以使用的,例如gps,网络连接,文件读写等。3. 签过名的软件有什么好处。签名就是告诉我们这个软件是可信的,对用户最直接的感受就是联网或访问手机文件的时候,收发短信,彩信,蓝牙等,但签名后这些功
能就部可用了。这就是jad中MIDlet-Permissions属性的问题。当未签名时对这个属性的要求并不严格,但签名后就一定要注意。必须把所要使用到的权限加入进去,否则这个功能就不能使用了。如下是一些常用的MIDlet-Permissions属性。
2.6本地文件和个人信息:
J2ME Wireless Toolkit 支持JSR 75,即PDA Optional Packages for the J2ME Platform,它也包括两个独立的API:FileConnection API 提供了MIDlet 对设备上本地文件系统的访问。Personal Information Management (PIM) 可选软件包包括用于操纵联系人列表、日程安排和计划列表的API。
一台真实的设备可能有一个能通过使用FileConnection API 访问的本地文件系统。在J2ME Wireless Toolkit 模拟器中,模拟的文件系统作为硬盘上的一个目录存在。应用程序使用FileConnection可访问的文件都存放在子目录<toolkit>\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 紧紧跟随发展的步伐并且包含您所需的全部工具。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论