- 浏览: 212998 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fenglongcen:
java可以写测试脚本吗?
linux 通过脚本执行java程序 -
chensss2008:
我代为回答2楼的问题,呵呵,因为我也遇到了这个问题。使用adm ...
SVNManager使用介绍 -
小诗诗:
我想问一下怎么使用“服务器配置管理员”怎么登陆啊!!!! ...
SVNManager使用介绍 -
sbcqw93:
能创建文件夹吗?比如说:http://127.0.0.1/sv ...
SVNManager使用介绍 -
energykey:
yhjhoo 写道好像没有一个外部的jar包,请教以下如何在l ...
linux 通过脚本执行java程序
J2me手机开发在早期的WTK没用jsr 238包,所以程序要想做到国际化是特别费劲的,一般手机程序都是采用第三方的Jar包,或者用一些UI包设计前台显示是根据不同的版块来做到国际化,WTK2.5.2就已经加入了jsr 238 jar包,实现起国际化来就比较容易了,注意:JSR-238 API 是一个可选的软件包。开始向其部署 JSR-238 MIDlet 之前,必须确保您的设备支持它。
判断当前手机的语言种类和编码的核心代码如下:
测试的小例子:
判断当前手机的语言种类和编码的核心代码如下:
System.getProperty("microedition.locale"); System.getProperty("microedition.encoding")
测试的小例子:
package com.mopietek; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class LanguageMidlet extends MIDlet implements CommandListener{ public Display display; public Form form; public final static Command exitCommand = new Command("Exit:",Command.EXIT,1); public LanguageMidlet() { display = Display.getDisplay(this); form = new Form("语言国际化"); form.addCommand(exitCommand); form.setCommandListener(this); } protected void destroyApp(boolean unconditional) throws MIDletStateChangeException { } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { Dictionary dictionary = new Dictionary(System.getProperty("microedition.locale"),System.getProperty("microedition.encoding")); String str = Dictionary.getString(dictionary.NUM_IDS-1); form.append(str); display.setCurrent(form); } public void commandAction(Command c, Displayable d) { if(c == exitCommand) this.notifyDestroyed(); } }
package com.mopietek; public class Dictionary { private static short ix = 0; //设定字符串数组的标签 public final static short LABEL_Command_EXIT = ix++; //退出 public final static short LABEL_Command_FIND = ix++; //重搜 public final static short LABEL_Command_CONN = ix++; //连接 public final static short LABEL_Message_FIND = ix++; //正在查找蓝牙设备... public final static short LABEL_Message_TITLE = ix++; //蓝牙GPS public final static short LABEL_Message_NOBT = ix++; //你的手机没有蓝牙功能或未开启蓝牙功能 public final static short NUM_IDS = ix; private static String[] strings; /* * 根据手机系统的语言环境构造相应的字符串数组,之后在其它类里可以通过这样的方式取用: * String str = Dictionary.getString(Dictionary.LABEL.Message_FIND); * locale代表手机所在的国家或地区,encoding代表手机默认的字符集名称 * */ public Dictionary(String locale,String encoding){ if(locale.toUpperCase().equals("ZH-CN") || locale.toUpperCase().equals("ZH")){ strings = stringsCn(); ///调用该构造方法构造一个简体中文数组 }else if(locale.toUpperCase().equals("ZH-HK")){ strings = stringsBig5(); }else{ strings = stringsEnUS(); } } private String[] stringsCn(){ String[] strArray = new String[NUM_IDS]; strArray[LABEL_Command_EXIT] = "退出"; strArray[LABEL_Command_FIND] = "重搜"; strArray[LABEL_Command_CONN] = "连接"; strArray[LABEL_Message_FIND] = "正在查找蓝牙设备"; strArray[LABEL_Message_TITLE] = "蓝牙GPS"; strArray[LABEL_Message_NOBT] = "你的手机没有蓝牙功能或未开启蓝牙功能"; return strArray; } //给繁体中文类型的字符串数组赋值 private String[] stringsBig5() { String[] strArray = new String[NUM_IDS]; strArray[LABEL_Command_EXIT] = "退出"; strArray[LABEL_Command_FIND] = "重搜"; strArray[LABEL_Command_CONN] = "連接"; strArray[LABEL_Message_FIND] = "正在查找藍牙設備..."; strArray[LABEL_Message_TITLE] = "藍牙GPS"; strArray[LABEL_Message_NOBT] = "你的手機沒有藍牙或未開啓藍牙功能!"; return strArray; } private String[] stringsEnUS() { String[] strArray = new String[NUM_IDS]; strArray[LABEL_Command_EXIT] = "exit"; strArray[LABEL_Command_FIND] = "find"; strArray[LABEL_Command_CONN] = "conn"; strArray[LABEL_Message_FIND] = "Looking for Bluetooth devices..."; strArray[LABEL_Message_TITLE] = "Bluetooth GPS"; strArray[LABEL_Message_NOBT] = "Your Bluetooth phone or did not open the Bluetooth function!"; return strArray; } public static String getString(int id){ if((id>=0) &&(id<strings.length)){ return strings[id]; }else{ throw new IllegalArgumentException("id=" + id + " is out of bounds. max=" + strings.length); } } }
发表评论
-
Lwuit---小细节疑难杂症整理
2010-05-04 17:41 14511、textArea 显示文本内容,在部分手机上无法显示全部内 ... -
Lwuit布局管理
2010-05-04 15:40 1650布局管理器中一个比较特殊的管理器CoordinateLa ... -
J2ME Socket编程
2010-04-25 23:35 4100Socket是套接字,它是基于TCP协议的传输。 在J2ME ... -
Alert用法
2010-04-08 18:21 3892在J2ME中,关于Alert类是用来向用户发出警告信息,一般A ... -
Midlet与Servlet传递Cookie
2010-03-31 11:47 2266Cookie在Java ME平台中没有得到支持,因此要想维持客 ... -
J2ME手机编程中使用字体与游戏键值
2010-03-25 10:02 1416J2me中关于字体Font类的介绍: Font fon ... -
J2me低级UI界面中Canvas类与GameCanvas类
2010-03-23 10:18 3370关于MIDlet类中destroyApp( ... -
J2ME从服务器解析并读取xml文件
2010-03-09 16:55 2233J2ME从服务器解析并读取xml文件,其实跟在本地读取xml文 ... -
J2ME下载并读取服务器txt文件
2010-03-04 11:56 2079J2ME下载并读取服务器txt文件,我用的公司的服务器,大家如 ... -
J2ME解析并读取xml文件
2010-03-03 17:37 5799用KXML解析读取xml文本 首先需要kxml2-2.3.0. ... -
J2ME手机本地文件上传服务器
2010-02-23 10:20 2746J2ME手机本地存储文件的上传,核心代码如下: pac ... -
读取手机本地图片和文本文件(Lwuit版)
2010-02-22 13:21 2573读取手机存储文件的核心代码: package com.m ... -
J2ME实现从服务器端下载文件(J2me for HttpConnection)
2010-02-07 21:54 2637J2ME实现从服务器端下载文件: 我以下载服务器文件并在手机客 ... -
Lwuit中关于TextField限制输入为数字的内容代码
2010-01-28 10:50 2055Lwuit中关于TextField限制输入为数字的内容代码 ... -
Lwuit 钟表ClockWidget小应用程序
2010-01-26 12:59 1625J2ME关于Lwuit应用的钟表ClockWidget程序 ... -
Lwuit实现九宫图特效程序
2010-01-25 12:16 2230最近在网上看到很多九宫图的程序说明,但大多数是转载的,一些知识 ... -
J2ME中关于Lwuit的标签的综合使用
2010-01-22 18:02 2487J2ME中关于Lwuit的标签的综合使用 由于我使用的主题对 ... -
Lwuit中关于TextArea、TabbedPane组件的使用说明
2010-01-21 16:15 2193TextArea组件的使用说明代码如下: package ... -
Lwuit中CheckBox、ComboBox组件的使用说明
2010-01-21 15:53 2435这几天刚刚开始接触LWUIT,前两天从网上搜到一兄台的博客写的 ... -
J2ME配置Lwuit
2010-01-20 11:34 2180使用Eclipse加入Lwuit jar包配置方法 1.先 ...
相关推荐
本文将深入探讨J2ME中的国际化问题,以及如何通过提供的源码工具进行解决。 国际化的全称是Internationalization,简称i18n(因为单词"internationalization"有18个字母)。在软件开发中,国际化是指设计和实现一种...
4. **国际化和本地化**:支持多语言和区域设置,使得应用能够适应全球市场。 5. **性能优化**:通过代码优化和资源管理,提高J2ME应用的运行速度和响应性。 6. **调试和测试**:提供强大的调试工具和模拟器,帮助...
5. **国际化支持**:内置多语言支持,方便应用的全球化发布。 6. **丰富的文档和社区**:官方提供详尽的文档和活跃的社区支持,帮助开发者快速上手并解决问题。 **使用流程:** 1. **安装和配置**:首先,开发者...
3. 本地化与国际化:使应用适应不同语言和文化。 4. 游戏开发:利用J2ME开发2D游戏,理解游戏循环和碰撞检测。 通过这个J2ME中文教程,你可以逐步掌握移动设备开发的基础,从创建简单的应用到构建复杂的系统。不断...
- `microedition.global.version`:Mobile Internationalization API(JSR-238)版本,处理国际化问题。 - `microedition.chapi.version`:Content Handler API(JSR211)版本,处理内容解析和处理。 - `...
8. **国际化支持**:对于需要支持多语言的应用,WTK 提供了资源管理工具,方便管理和调整应用程序的语言资源。 9. **网络模拟**:模拟器还可以模拟不同的网络环境,如GPRS、EDGE、Wi-Fi等,以便测试应用程序在网络...
6. **本地化与国际化**:对于全球用户,电子辞典可能支持多语言界面和词汇。J2ME提供了一些工具和API来处理字符串资源和文本格式化,便于实现这些功能。 7. **事件驱动编程**:J2ME应用基于事件驱动模型,用户操作...
Java的标准化与J2ME是Java技术发展的重要组成部分,这个过程由Java Community Process(JCP)所主导。JCP是一个开放的国际组织,由Java开发者、授权者以及各种机构组成,它的目标是推动Java技术规范的发展和更新。这...
6. **国际化和本地化**:LWUIT支持多语言,方便开发者创建面向全球市场的应用。 在实际使用LWUIT 1.2.1时,开发者需要注意以下几点: - **性能优化**:虽然LWUIT提供了许多功能,但在内存和CPU有限的设备上,可能...
由于J2ME是全球化的,所以开发者需要考虑应用的国际化和本地化。J2ME支持多语言资源文件,允许应用程序根据用户的语言和地区自动调整显示内容。 **性能优化** 由于J2ME运行在资源受限的设备上,性能优化是必不可少...
5. **国际化和本地化**:支持多语言环境,方便应用面向全球市场。 6. **性能优化**:针对J2ME平台进行了性能优化,以确保在有限的移动设备资源下也能流畅运行。 7. **库和API**:提供了丰富的库和API,例如网络...
4. **本地化与国际化**:考虑到词典的全球用户,程序可能支持多语言。这涉及到资源文件的管理,每个语言对应一个资源文件,包含界面文本和词典内容。 5. **网络功能**:J2ME的JCP(Java Community Process)提供了...
- **本地化与国际化**:适应不同地区和语言的用户。 本教程将逐步引导初学者掌握J2ME的各项技能,从基本概念到实际项目开发,涵盖从环境配置到应用发布的所有环节。通过学习,你可以利用J2ME开发出富有创意的移动...
作为一款字典应用,OmniDic可能支持多种语言,这就涉及到国际化的处理。它可能使用了J2ME的Locale类和资源包来处理不同语言的显示。 8. **错误处理与调试** 良好的错误处理和日志记录是任何应用的重要组成部分。...
3. **Personal Basis Profile (PBP)** 和 **Personal Profile (PP)**:这些是更高级的J2ME profiles,提供了更多的API,如XML解析、加密和国际化支持。 4. **CLDC API**:提供了一些基本的类库,如I/O、线程和集合...
6. **国际化与本地化**:LWUIT 支持多语言环境,开发者可以轻松地为应用添加不同语言的支持,以满足全球用户的需求。 7. **触摸支持**:LWUIT 1.3 版本改进了对触摸屏设备的支持,使得开发者能够在触控设备上构建...
6. **本地化与国际化**: 电子词典可能需要支持多种语言,因此需要考虑如何处理多语言的词汇库和用户界面。 7. **性能优化**: 对于资源有限的移动设备,优化代码执行效率至关重要。开发者需要关注内存使用、CPU...
5. **本地化与国际化**:J2ME支持多语言和地域适应性,实例可能涉及如何处理不同地区的文本和日期格式。 6. **资源管理**:在嵌入式系统中,内存和CPU时间非常宝贵。源代码将展示如何有效地管理内存和优化资源消耗...