有更好的方法来读取数据吗?

时间:2014-06-10 09:52:50

标签: java android xml

我制作的Android应用程序显示有关国家/地区的信息。对于每个国家,我已经定义了~10个参数。

目前我将每个国家/地区的信息存储在res / values / country.xml中的单独xml文件中

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="countryX">
        <!-- Country Name -->
        <item>Name</item>
        <!-- Continent -->
        <item>Continent</item>
        ...
    </string-array>
</resources>

当我填充存储我的国家/地区对象的类时,我使用类似于下面的代码从每个数组中读取信息。

Resources res = getResources();
String[] countryInfo = res.getStringArray(R.array.countryX);

countryInfo被传递给类构造函数,我在类字段中存储基于xml文件中预定义布局的String数组中的值。在构造函数中,我检查countryInfo的大小是否至少是我要填充的参数的大小(在本例中为10)。如果大小较小,我会使用默认值填充类的字段。

有更优雅的方法吗?

我是Android开发的新手,我根据我迄今为止所学的内容以及在网上完成的研究提出了这种方法。

1 个答案:

答案 0 :(得分:1)

取决于数据的来源以及您希望如何存储/编辑数据。

您可以像在此处一样在app项目内的XML文件中输入它,然后只访问资源,在这种情况下不需要XML解析器。

或者将其存储在手机某处的单独XML文件中,并使用Android内置的XML解析器之一将其从那里拉出来。这样您只需要更改文件而不需要重新安装应用程序。 您还可以将文件存储在云服务(即Dropbox)上,使用任何相关的SDK或客户端服务进行下载,然后解析它。

顺便说一句,如果您在使用XML解析器时遇到问题,请考虑使用JSON对象和JSON数组。我个人认为他们更容易合作。

祝你好运! :)