我现在在android i18n
工作。在很多strings.xml
目录中有一些values-xxxx
个文件,但产品经理想要将这些漏洞strings.xml
文件放入服务器,app get strings.xml
通过以下方式提交rom网络动态地使用语言参数。但strings.xml以这些方式使用:@ string / xx,Widget.setText(R.string.xx),getString(R.string.xx),Toast.make(x,R.string .x,x)等等...如何动态加载android strings.xml?或者你有一个更简单的方法来解决我的问题?谢谢!
答案 0 :(得分:0)
我工作的一个应用程序:
启动应用程序后进行api调用。服务器以JSON响应,包含所有字符串。解析之后,我们可以在正确的上下文中动态设置所有字符串,或者保留对象甚至json以在需要时获取字符串。
希望这个想法可以帮助你。
答案 1 :(得分:0)
我明白产品经理想要改变这个原因。
我的解决方案如下:
http://www.example.com/strings/{lang_param}/
示例:http://www.example.com/strings/en/
,http://www.example.com/strings/pt-br/
这样的内容。lang_param
。与json服务器一起必须返回一个标识必须指示某些字符串项是否已更改。此标识哈希必须保持共享首选项,以便下次应用程序启动时您可以查询服务器检查哈希,如果它们不同则意味着会有一些新的更改。File file = new File(context.getFilesDir(), filename);
将默认strings.xml保留在应用程序的内部存储器中。