Android资源 - 用于存储国家/地区名称/国家/地区代码的数组

Ziy*_*een 4 xml android

我在我的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>
Run Code Online (Sandbox Code Playgroud)

我的要求是在一个资源中保存更多信息,例如国家/地区名称国家/地区代码.

我的目的是迭代一个资源,然后对于每个国家,我能够获得其子项目,如国家名称国家/地区代码.这样我就可以在应用程序中保存我需要的对象,并通过解析文件生成它们.

目前,我正在考虑字符串拆分并获取值或使用2个数组,但想知道是否有任何明智的方法来做到这一点.我们赞赏XML和相关的Java代码.

提前致谢.

Can*_*ner 6

<resources>    
<string-array name="countries_array">        
  <item>
    <name>Bahrain</name>
    <code>12345</code>
  </item>
...  
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)

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>();
Run Code Online (Sandbox Code Playgroud)

然后使用XML解析器(SAX或DOM,可以在此处找到示例)解析xml文件,然后您可以将每个国家/地区信息添加到您的数组中,如下所示:

CountryInfo tmp = new CountryInfo(name, code);
countryList.add(tmp);
Run Code Online (Sandbox Code Playgroud)