科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用JSR-238更快地全球化您的应用程序(三)

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

就是这样!使用资源文件管理不同地区的本地化字符串,将图片的二进制文件转换为所有地区都可以使用的通用资源。ResourceManager 类将根据系统默认地区或您在构造函数中指定的地区来装载资源文件。

作者:中国IT实验室 来源:中国IT实验室 2007年9月18日

关键字: 使用 编程 java

  • 评论
  • 分享微博
  • 分享邮件

     就是这样!使用资源文件管理不同地区的本地化字符串,将图片的二进制文件转换为所有地区都可以使用的通用资源。ResourceManager 类将根据系统默认地区或您在构造函数中指定的地区来装载资源文件。现在您可以使用一种更快、更简单的方法来本地化菜单、按钮和消息了。

数据格式化

     每一个地区都有自己的文化,都采用自己的方式显示日期、时间、数字、百分数和货币数据。Formatter 类可以满足格式化此类数据的全部需求。表 3 显示了它所提供的类。



表 3. 数据格式化方法

日期和时间 formatDateTime(java.util.Calendar dateTime, int style)
数字和百分比 formatNumber(double number)
formatNumber(double number, int decimals)
formatNumber(long number)
formatPercentage(float value, int decimals)
formatPercentage(long value)
货币值 formatCurrency(double number)
formatCurrency(double number, java.lang.String currencyCode)

现在将编写一个简单的 MIDlet 程序来显示日期、时间、数字、百分比和货币数据。

您需要了解的知识
  • 货币代码必须遵守 ISO-4217 货币代码标准。
  • MIDP 规范允许您列入一个空地区。如果您在 Formatter 构造函数中为一个地区使用了空值或空字符串,它将保留为中立格式(Neutral formatting)。参阅 JSR-238 规范以获得更多细节。

步骤 1:构造一个 Formatter 实例

您可以指定地区,也可使用系统默认地区。下面是所需要的代码:

//Using system default locale
Formatter fmt = new Formatter();
//Specify the locale
Formatter fmt = new Formatter("zh-TW");
            

步骤 2:创建可编辑文本字段。

    您希望创建可编辑的文本文件以使用户输入数字、百分数、货币数据等等。您需要这些文本字段的内容和对其进行格式化的 Formatter 类方法,如 清单 2 所示。



清单 2. 数据格式化

    
public String formatNumber(double number){
     return fmt.formatNumber(number);
  }
  public String formatPercentage(float number, int decimals){
     return fmt.formatPercentage(number,decimals);
  }
  public String formatCurrency(double number){
     return fmt.formatCurrency(number);
  }
  .....
  //Process events
  public void commandAction(Command c, Displayable s)
  {
   if (c == cmExit)
   {
     destroyApp(false);
     notifyDestroyed();
   }
   else if( c == cmFormat)
   {
     //Number formatting
     double num = Double.parseDouble(tfNumeric.getString());
     siResultNum.setText(this.formatNumber(num));
     //Percentage formatting
     float percentage = Float.parseFloat(tfPercentage.getString());
     siResultPercent.setText(this.formatPercentage(percentage,2));
     //Currency formatting
     double curr = Double.parseDouble(tfCurrency.getString());
     siResultCurr.setText(this.formatCurrency(curr));
     //Display the result
     displayResult();
   }   
               

现在运行 MIDlet。表 4 显示了应获得的结果。(注意:我为 zh-TW 使用了一种不同的字体。)



表 4. Formatter MIDlet

zh-TW 地区 de-DE 地区
Formatter MIDlet zh-TW Formatter MIDlet de-DE

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章