我知道如何从 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/