在Android中存储和访问XML的最佳方法是什么?

时间:2010-03-07 15:14:16

标签: xml android resources assets

虽然我意识到资源本身是在XML文件中定义的,但如果我有一个我希望使用的我自己类型的XML文件,我应该将它们存储在“res / xml”中吗?

有没有更好的方法来执行此操作,例如使用资产然后将它们加载为二进制文件以便由另一个XML库进行解析?

3 个答案:

答案 0 :(得分:9)

我会在res文件夹中添加具有特定资源类型的XML资源。它是我已经适应的惯例,将我的所有文件放在同一目录中进行组织。

如果您在res/xml内添加XML文件,则可以在运行时随时通过Resources.getXML()

访问该文件

答案 1 :(得分:2)

如果您喜欢轻松快速编码,那么我会使用Simple XML library代替。它更容易编程。我写了一篇博文,你可以查看解释你的how to include it in a project

答案 2 :(得分:0)

首先了解如何在Android中正确访问文件:

您可能需要访问原始文件和目录。如果您这样做,那么在res/中保存文件将不适合您,因为only way to read a resource from res/ is with the resource ID。相反,您可以将资源保存在assets /目录中。

保存在assets /目录中的文件没有资源ID,因此您无法通过R类或XML资源引用它们。相反,您可以像普通文件系统一样查询assets /目录中的文件,并使用AssetManager读取原始数据。

但是,如果您只需要能够读取原始数据(例如视频或音频文件),则将文件保存在res / raw /目录中,并使用openRawResource()读取字节流。

访问XML文件

http://developer.android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml

res/xml/

Arbitrary XML files that can be read at runtime by calling Resources.getXML()

Source

Resources res = activity.getResources();
XmlResourceParser xrp = res.getXml(R.xml.the_file_name_aka_resource_ID);