android - 从资源中获取 android 字符串数组中的数据

标签 android arrays string resources

我知道如何从 string-array 获取数据。我已经这样做了。

<string-array name="values">
   <item>value1</item>
   <item>value2</item>
</string-array>

String[] values = this.getResources().getStringArray(R.array.values);

但我不知道下面的类型 string-array 是否可能并且混淆了从中获取值。

<string-array name="country_data">
        <item>
            <country>Afghanistan</country>
            <countryCode>93</countryCode>
            <iso2>AF</iso2>
            <iso3>AFG</iso3>
        </item>
    </string-array>

如果可能,请帮助我获取值。

最佳答案

I dont know whether the below type string-array is possible

不是。

如果你想要任意的 XML,使用 res/xml/对于您喜欢的任何 XML 结构。然后您可以使用 getResources().getXml()得到一个XmlPullParser您可以使用它来解析该 XML。

或者,包装每个 <item> 的内容CDATA 中的元素,这应该可以防止资源解析器弄乱它们。然后,您从数组中检索到的每个字符串都是纯 XML,您需要对其进行解析。

或者,在 res/raw/ 中使用 JSON或 assets/ ,使用您最喜欢的 JSON 解析器(例如 Gson)。

或者,use SQLiteAssetHelper 在您的应用程序中打包一个数据库,该数据库已预加载此数据。

或者,使用 R. Zagórski's solution , 拥有一个 <string-array>每个对象,<item>对象的每个字段的元素。

关于android - 从资源中获取 android 字符串数组中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38976319/

相关文章:

c - 如何在我的代码中实现二维指针数组来满足要求?

python - 选择字符串中的日期

php - 从 android 到 JSON 到 mysql Arabic

java - 没有 addSink 的 ScreenCapturerAndroid

Android Studio - PDFRendererBasic - 无法替换 sample.pdf?

将 char 数组转换为 atoi 失败

C++ 巨大的整数数组存储为长整数

JavaScript:用普通空格替换不间断空格和特殊空格字符

c++ - 访问 char* 或 std::string 的元素是否更快?

android - 是否可以从 android 调用 WSHTTPBINDING?