我在我的Android应用程序和每个信息单元中存储了一些信息,我需要为字符串数组中的每个项目存储多个数据或者适当的。
例如,如果我们获取国家/地区列表,则可以按如下方式定义XML文件。这里我们只有一个值,即字符串数组中列出的国家/地区的名称。
<resources>
<string-array name="countries_array">
<item>Bahrain</item>
<item>Bangladesh</item>
<item>Barbados</item>
<item>Belarus</item>
<item>Belgium</item>
<item>Belize</item>
<item>Benin</item>
</string-array>
</resources>
我的要求是在一个资源中保存更多信息,例如国家/地区名称和国家/地区代码。
我的目的是迭代资源,然后针对每个国家/地区,我可以获得其子项目,例如国家/地区名称和国家/地区代码。这样我就可以在应用程序中保存我需要的对象,并通过解析文件生成它们。
目前,我正在考虑字符串拆分并获取值或使用2个数组,但想知道是否有任何明智的方法来做到这一点。欢迎使用XML和相关的Java代码。
提前致谢。
答案 0 :(得分:5)
<resources>
<string-array name="countries_array">
<item>
<name>Bahrain</name>
<code>12345</code>
</item>
...
</string-array>
</resources>
CountryInfo.java:
public class CountryInfo {
public String mName;
public String mCode;
public CountryInfo(String name, String code) {
mName = name;
mCode = code;
}
}
ArrayList<CountryInfo> countryList = new ArrayList<CountryInfo>();
然后使用XML解析器(SAX或DOM,可以找到示例here)解析xml文件,然后您可以将每个国家/地区信息添加到您的数组中,如下所示:
CountryInfo tmp = new CountryInfo(name, code);
countryList.add(tmp);