使用/strings.xml从服务器android下载res / values / strings.xml文件到sd卡

时间:2014-04-28 07:39:12

标签: android

我希望将strings.xml文件嵌入到apk中,将strings.xml文件替换为从服务器下载并存储到我的内部sd card的{​​{1}}文件。是否可以将外部标签引用到TextView。我的客户希望完全控制应用程序中的语言。如果我成功从服务器下载strings.xml并将其存储到SD卡,我如何将标记元素引用到相应的TextViews。我真的不需要代码,只需要关于这种方法的想法和批评。

2 个答案:

答案 0 :(得分:2)

我认为这不会起作用,因为您的资源以特殊方式编译到apk中,以便可以根据设备配置访问它们。这发生在编译时。安装应用程序后,您不能简单地换掉strings.xml。

答案 1 :(得分:2)

这是不可能的。如果要实现此目的,则必须在创建控件时在运行时设置语言。

如果您有完整的布局(不创建动态控件),则必须递归扫描布局,查找按钮,文本视图,提示等,识别控件并从下载的文件中设置文本属性。

类似的东西:

将您的语言放在散列图中:

HashMap<String, String> LANG = new HashMap<String, String>();

并为布局中的每个控件设置标记属性。然后你可以这样找到它们:

for(int i=0;i<yourLayout.getChildsCount;i++)
{
    View v = yourLayout.getChildAt(i);
    if(v instanceof Button){
        ((Buttons)v).setText(LANG.get(v.getTag()));
    }
}