是否有用于存储静态地图的Android实用程序?

时间:2010-02-19 17:02:21

标签: android

我有一个常见的用例,用户从中选择一个项目(例如,在微调器或自动完成列表中),然后输入数据。例如,假设用户选择一个国家/地区。最终,我想要的数据是国家代码,而不是国家/地区名称;但是用户希望根据名称而不是代码进行选择。换句话说,用户将选择“美国”,但我最终希望将其转换为“美国”。

有很多国家。有没有一种简单的方法可以在Android中设置映射以从名称到代码进行哈希?我想到了一些解决方案,在我看来它们都不是很令人满意:

  1. 包含国家/代码的数据库,我可以查询。

  2. strings.xml中将所有国家/地区设置为字符串,然后按名称检索资源。

  3. 在代码中创建一个巨大的Map并使用它。 (这是最不满意的答案)。

  4. 任何人都有更聪明的解决方案吗?

2 个答案:

答案 0 :(得分:1)

我通常使用strings.xml中声明的2个并行字符串数组:

<string-array name="country_codes">
    <item>us</item>
    <item>uk</item>
    <!-- ... -->
</string-array>

然后做

String[] countryCodes = getResources().getStringArray(R.array.country_codes);

答案 1 :(得分:0)

如何将它作为自定义XML文件存储在/ res / xml中,当您的应用程序启动并加载到Map中时,您将读入该文件?

简单的事情:

<Map>
  <item key="us" value="United States">
  ...
</Map>