文章作者 100test 发表时间 2007:03:26 18:02:02
来源 100Test.Com百考试题网
简介
您是否曾尝试过国际化 MIDlet,却以失败告终?使用 MIDP/CLDC 本地化 MIDlet 需要完成大量的工作,Java Platform,Standard Edition(Java SE)以成熟的 API 简化国际化工作。CDC Foundation 提供了大量 API 来完成国际化和本地化工作。而如果使用 MIDP/CLDC 来完成这些工作,将是一次非常痛苦的经历;甚至没有一个可用的 ResourceBundle 类。还好有另外一个选择 —— JSR-238 提供了可直接用于资源本地化和数据格式化的类。
作为开始,看一下 Java SE 和 Java ME 对全球化支持的对比,如 图 1 所示。(本图是从 “Considerations of Globalization Solutions in J2ME” 文中转载的。参见 参考资料 中的链接。)
图 1 显示出,编写一个支持全球化的 Java SE 应用程序是十分简单的;Java SE 提供了开发全球化应用程序所需的几乎所有东西。CDC Foundation 提供了一些用来编写全球化应用程序的 API ,但不是全部。然而建立在 MIDP/CLDC 基础上的应用程序仅提供有限的日历和时区的相关类,您需要亲自编写几乎所有的全球化类。
全球化应用程序的历史
要本地化 MIDlet,通常需要使用 MIDP 核心类编写 ResourceBundle 和 Locale。有很多关于如何完成这一任务的文章,包括 “Globalize Your Embedded Apps”(参见 参考资料)。
为了实现国际化功能,就是说根据不同的地区显示其当地语言,您需要编写自己的 ResourceBundle 类,这对检索本地化字符串是很必要的,例如面向不同地区的 “Hello” 和 “Bonjour”。对于数据格式化,例如 Currency、Numbers 和 DateTime,您也需要实现这些程序。这将耗费大量的精力,因为您不得不收集大量的地区数据信息,还必须熟知具体的文化差异。
JSR-238 Mobile Internationalization API 简介
国际化 MIDlet 是接触更广阔市场的一个关键条件。新的 JSR-238 Mobile Internationalization API 提供了一种标准方法帮助您更快、更轻松地实现 MIDlet 国际化,还提供了用 MIDP/CLDC 实现 MIDlet 国际化的基础 API。
请注意:JSR-238 API 是一个可选的软件包。开始向其部署 JSR-238 MIDlet 之前,必须确保您的设备支持它。
|
JSR-238 包,javax.microedition.global 提供的一些重要类如下:
我将具体讨论这些类,但在此之前您必须了解,您将需要使用 Sun Java Wireless Toolkit 2.5 for CLDC Beta、Nokia JSR-238 RI 或 Eclipse 来配合 JSR-238 开发 MIDlet。本例将使用 Eclipse。
首先,您需要获得 JSR-238 库,它是随 Sun WTK 2.5 Beta、Nokia 的 JSR-238 RI 一起提供的。IBM®. 在 WebSphere®. Everyplace Micro Environment 移植包中提供了 JSR-238,IBM 业务合作伙伴都可以使用。
如果您现在使用的是 WTK 的老版本,其中不包括 JSR-238 库,您需要自己添加 JSR-238。您依然可以在 Eclipse 编写和编译,但由于类加载器的限制,Eclipse 是无法启动的。要配置 Java ME 项目以包含 JSR-238 支持:
就是这样!您已经将 JSR-238 库添加到开发环境中可,现在就可以开始编写 MIDlet 国际化程序了。
使用 ResourceManager
现在我将演示如何使用 ResourceManager 来管理不同地区的资源文件。
要用不同的语言来显示本地字符串,就需要准备不同地区的资源文件。资源文件包括要本地化的字符串,如果有图片的话,也要将其包含在资源文件里面。资源文件就像 Java SE 的属性文件,但是是二进制格式。它有以下优点:
对于条件有限的设备来说,这些优点是十分重要和有效的。
现在让我们编写一个简单的 MIDlet,根据地区显示字符串和图片。图 5 显示了资源文件结构。在以下步骤中,我将使用 WebSphere Everyplace Micro Environment 6.1 和 IBM WebSphere Everyplace Micro Environment 移植包的 JSR-238 库。
|
步骤 1:准备资源文件
二进制的资源文件必须遵守严格的格式。(参考 JSR-238 规范)。可以使用任何一种二进制文件编辑器或者 Nokia JSR-238 RI 创建资源文件。
为演示起见,我使用 Nokia JSR-238 RI 来创建二进制资源文件,如 图 6 所示。我想为 zh-TW,de-DE 和 es-ES 这几个地区显示 “Welcome” 字符串和一幅图片。可以阅读 Nokia 238 RI 的自述文件了解相关步骤,但基本上,您需要为字符串和图片编写一个 xml 资源文件,运行 ResourceMaker 工具获得二进制文件。
相关文章
KVM的执行引擎--栈和帧、指令集
在索尼爱立信JP7平台上自动启动MIDlet
使用JSR-238更快地全球化您的应用程序
(JAX-WS)inJavaEE5快速上手
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛