将InputStreams保存为res / values

时间:2012-03-07 01:31:16

标签: android xml arrays resources

已经决定外部化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。这可行吗?我怎么能接近这个?

谢谢

1 个答案:

答案 0 :(得分:3)

不,资源在编译时是固定的,您应用的资源文件夹是APK的只读部分。可能有一种方法可以创建一个新的资源对象并填充它,但即使它是可能的,它也很复杂(可能不得不搞乱类加载器),慢(反射)和更多的工作而不是它的价值。有很多XML解析库,包括内置于Android中的库。我建议你研究那些让你入门。