当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>J2ME

使用JSR-238更快地全球化您的应用程序

2007 年 1 月 25 日

     国际化不仅仅是一个趋势 —— 它已经成为应用程序开发的必要需求。JSR-238 的目的是帮助 Java™ Platform,Micro Edition(Java ME)开发人员利用 Mobile Information Device Profile(MIDP)/Connected Limited Device Configuration(CLDC)将其国际化工作减至最少。通过这篇文章发现一种国际化 MIDlet 的更便捷方法。

简介

    您是否曾尝试过国际化 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 ME 全球化支持的对比
Java SE 和 Java ME 全球化支持的对比

    图 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 目标声明

此声明引自 JSR-238 规范:

“Mobile Internationalization API 的目标是为运行在 CLDC 上 MIDP 中的 Java MIDlet 提供国际化服务。Java 2 Standard Edition 提供对国际化的广泛支持,JAVA 2,Micro Eition 更具局限性的设置和配置文件并不包括这种支持。”

这种 API 被设计为以简洁通用的形式提供服务。在国际化方面,它使 MIDP 应用程序达到一个与桌面应用程序类似的级别,从而扩充了 MIDP 应用程序平台。

JSR-238 包,javax.microedition.global 提供的一些重要类如下:

  • ResourceManager 类:管理应用程序资源
  • Formatter 类:创建数据项特定于地区的翻译
  • StringComparator 类:使用特定于地区的规则比较两个字符串

    我将具体讨论这些类,但在此之前您必须了解,您将需要使用 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 支持:

  1. 启动 Eclipse。
  2. 创建一个新的 Java ME 项目,如 图 2 所示。在这个例子中,我把它命名为 “Simple Globalization Midlets”,单击 Finish。

    图 2. 创建一个新的 Java ME 项目
    创建一个新的 Java ME 项目
  3. 在 Package Explorer 视图中展开 “Simple Globalization Midlet” 项目(如 图 3 所示),请注意 JSR-238 库不在这里。

    图 3. 项目树
    项目树
  4. 选中 Java ME 库节点,右击并选择 Build Path > Configure Build Path...
  5. 单击 Add External Jars...,选择已下载的 JSR-238 jar 文件,然后单击 OK。

    图 4. 将 JSR-238 jar 添加到构建路径中
    将 JSR-238 jar 添加到构建路径中

就是这样!您已经将 JSR-238 库添加到开发环境中可,现在就可以开始编写 MIDlet 国际化程序了。

 

[1] [2] [3] [4] 下一页  

相关内容
赞助商链接