[英]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 ID
的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()
Resources res = activity.getResources();
XmlResourceParser xrp = res.getXml(R.xml.the_file_name_aka_resource_ID);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.