【问题标题】:Android Resource - An Array to store Country-Name/Country CodeAndroid 资源 - 用于存储国家/地区名称/国家代码的数组
【发布时间】:2012-03-05 23:07:20
【问题描述】:

我在我的 android 应用程序中存储了一些信息,并且每个信息单元,我需要为每个 item 存储多个数据在字符串数组或任何合适的地方。

例如,如果我们获取国家列表,则 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 代码。

提前致谢。

【问题讨论】:

    标签: android xml


    【解决方案1】:
    <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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多