J2ME中的字符串管理和多语言支持[2]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:


                        o.delete(0,o.length());
                        s=0;
                    }
                    else
                        o.append(x);
                }
            }while((c=is.read(buf))>0);
            if(key!=null && key.length()>0)
                strings_.put(key,o.toString());
            is.close();
        }
        catch(Exception ex)
        {
           
        }
        name_=name;
        loaded_=true;
    }
   
    public String getString(String name)
    {
        Object o=strings_.get(name);
        if(o==null)
            return name;
        else
            return (String)o;
    }
}

为了实现通过静态方法访问,修改一下,增加一段代码

    static StringManager instance;
   
    public static String get(String name)
    {
        return instance.getString(name);
    }
    public static StringManager getInstance(String lang)
    {
        if(instance!=null)
        {
            instance.setLang(lang);
        }
        else
        {
            instance=new StringManager(lang);
        }
        return instance;
    }

并把构造函数改为private。

有了这样一个StringManager,就可以方便的实现midlet内部的字符串管理了。

初始化管理器:        StringManager.getInstance("zh_cn").load("mystrings");//载入/strings/mystrings.zh_cn
使用字符串:            StringManager.get("TestMIDlet.Exit");//退出命令
/strings/mystrings.zh_cn文件可以是这样的
TestMIDlet.Exit 退出
TestMIDlet.Done 完成

这种设计的缺点是同一时间只能使用一个资源。

有意见或建议请联系vmlinuxx@gmail.com,共同学习,共同提高:)

本文关键:J2ME中的字符串管理和多语言支持
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top