精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-11
最后修改:2009-12-11
版权所有,转载请注明来自 http://mdev.cc SinFrancis
一般做WEB的都知道国际化,比如Struts等WEB框架的资源配置文件,Andriod中也有资源配置,会根据手机自身的本地配置 来匹配相关的资源,其实在BlackBerry中也有相关的配置,那就是我们的rrh和rrc文件了。
下面我将详细讲述如何进行BB的国际化!
1、开发工具 eclipse + BB4.5 插件 BB 8300汉化模拟器,可以显示英文和中文。 没汉化的请看这个帖子:(http://sinfrancis.iteye.com/blog/546371) 2. 建立BB项目 ,项目名称为 : blackB (随便!)
3. 建立资源文件 rrh 和rrc 如图:
blackB.rrh 为资源引导文件,blackB.rrc为默认的资源文件,blackB_en.rrc为英文资源文件,blackB_zh.rrc为中文资源文件。
当系统为英文的时候,将调用blackB_en.rrc里面的资源,中文时调用blackB_zh.rrc文件,否则调用blackB.rrc文件。 请看里面的内容:
添加key的时候只需要在rrh文件添加即可,它会自动将所有的rrc文件都添加上此key,然后就是在不同的文件中写value值。
4、调用
当建立了rrc文件的时候,系统会对应产生一个借口,比如rrc文件为 blackB.rrc ,那就会生成一个blackBResource 名称的接口,这个接口是看不到哦。
请看我刚才建立的rrc文件生成的接口:
package res; public interface blackBResource { // Hash of: "res.blackB". long BUNDLE_ID = 0x671fc6087dc0beaaL; String BUNDLE_NAME = "res.blackB"; int hello = 0; int world = 1; }
接口生成完毕,那么接下来就是正式的调用了,调用的类需要继承生成的资源接口,然后生成ResourceBundle即可取得想要的资源,请看关键代码:
class Screen1 extends MainScreen implements blackBResource{ ActiveRichTextField f; /** * 加载资源 */ private ResourceBundle _resources = ResourceBundle.getBundle(BUNDLE_ID, BUNDLE_NAME); public Screen1() { f = new ActiveRichTextField(_resources.getString(hello)) ; add(f); } }
类的全部代码:
import res.blackBResource; import net.rim.device.api.i18n.ResourceBundle; import net.rim.device.api.ui.UiApplication; import net.rim.device.api.ui.component.ActiveRichTextField; import net.rim.device.api.ui.container.MainScreen; /** * @site http://androidos.cc http://mdev.cc * @author SinFrancis Wong * @since 2009-12-09 * */ public class Main extends UiApplication{ public Main() { pushScreen(new Screen1()); } public static void main(String[] args) { Main m = new Main(); m.enterEventDispatcher(); } } class Screen1 extends MainScreen implements blackBResource{ ActiveRichTextField f; /** * 加载资源 */ private ResourceBundle _resources = ResourceBundle.getBundle(BUNDLE_ID, BUNDLE_NAME); public Screen1() { f = new ActiveRichTextField(_resources.getString(hello)) ; add(f); } }
5、运行程序,运行8300模拟器,将程序安装进去,改变手机的语言,即可看到不同的效果。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-17
如果使用eclipse的BlackBerry_JDE_PluginFull_1.0.0.67开发环境会出现以下错误:
Can't open dir C:\test\LocalizationDemo\bin/com.rim.samples.device.localizationdemo.LocalizationDemo?ê.crb/ 这主要是eclipse的bug,用安装JDE5.0的eclipse plugin中的C:\eclipse\eclipse35bb\eclipse\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.11\components\bin\ 目录下的preverfy.exe替换到低版本的文件就行了。 |
|
返回顶楼 | |
发表时间:2010-08-17
请问楼主有没有办法在程序中执行所要加载的语言,即使重启程序改变也可以。
|
|
返回顶楼 | |
浏览 4459 次