繁体   English   中英

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

[英]What's the best way to store and access XML in Android?

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

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

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

如果在res/xml添加XML文件,可以在运行时随时通过Resources.getXML()访问它。

如果您更喜欢轻松快速编码,那么我会使用Simple XML库 它更容易编程。 我写了一篇博文,你可以查看它解释如何将它包含在的项目中。

首先要知道如何在Android中正确访问文件:

您可能需要访问原始文件和目录。 如果这样做,那么在res/保存文件将不适合您,因为only way to read a resource from res/ is with the resource IDonly 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()

资源

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM