已经决定外部化Android应用程序内部的一些资源,它涉及一些res / values数组。它们是:
<string-array name="idd0">
<item>"000"</item>
<item>"007"</item>
<item>"005"</item>
</string-array>
<!-- 222 countries -->
<array name="idd">
<item>"00"</item>
<item>"00"</item>
<item>@array/idd0</item>
</array>
etc
这些xml文件现在将通过互联网获取,所以我现在试图避免重新发明轮子并自己进行复杂的解析,而是重用平台的Resources类。我认为这样做的一个简单方法是将这些xml文件保存到应用程序的资源文件夹中,并以某种方式动态获取要使用的资源ID。这可行吗?我怎么能接近这个?
谢谢
答案 0 :(得分:3)
不,资源在编译时是固定的,您应用的资源文件夹是APK的只读部分。可能有一种方法可以创建一个新的资源对象并填充它,但即使它是可能的,它也很复杂(可能不得不搞乱类加载器),慢(反射)和更多的工作而不是它的价值。有很多XML解析库,包括内置于Android中的库。我建议你研究那些让你入门。