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

时间:2012-03-05 14:54:09

标签: android xml

我在我的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代码。

提前致谢。

1 个答案:

答案 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);