资产文件夹和res / xml之间的区别

时间:2014-02-12 08:25:22

标签: android xml parsing

this教程“学习解析Android应用程序中的XML数据”中,作者将他的XML文件放入assets文件夹。但在其他教程中,他们建议使用res/xml。 他们都没有解释为什么他们拿走了他们使用的文件夹。

这两个文件夹有什么区别?什么是最佳做法?性能有差异吗?

2 个答案:

答案 0 :(得分:2)

res文件夹用于放置授权资源文件类型,如layout(xml),drawable(png,jpg,xml),raw(mp3,ogg)等...在assets文件夹中,你可以放入所有文件你想要的文件类型(txt,avi,png,docx,xyz,ext,asm,....)。

请检查:Android Projects Structure

1)资产/

这是空的。您可以使用它来存储原始资产文件。您在此处保存的文件将按原样编译为.apk文件,并保留原始文件名。您可以使用URI以与典型文件系统相同的方式导航此目录,并使用AssetManager将文件作为字节流读取。例如,这是纹理和游戏数据的好位置。

2)res /

包含应用程序资源,例如可绘制文件,布局文件和字符串值。有关更多信息,请参阅应用程序资源。

  • 动画/

对于编译为动画对象的XML文件。请参阅动画资源类型。

  • 颜色/

用于描述颜色的XML文件。请参阅颜色值资源类型。

  • 抽拉/

对于位图文件(PNG,JPEG或GIF),9-Patch图像文件和描述可绘制形状的XML文件或包含多种状态(正常,按下或聚焦)的Drawable对象。请参阅Drawable资源类型。

  • 布局/

编译为屏幕布局(或屏幕的一部分)的XML文件。请参阅布局资源类型。

  • 菜单/

用于定义应用程序菜单的XML文件。请参阅菜单资源类型。

  • 生/

对于任意原始资产文件。在此处而不是在assets /目录中保存资产文件的方式与访问它们的方式不同。这些文件由aapt处理,必须使用R类中的资源标识符从应用程序引用。例如,这是媒体的好地方,例如MP3或Ogg文件。

  • 值/

对于编译为多种资源的XML文件。与res /目录中的其他资源不同,写入此文件夹中的XML文件的资源不会被文件名引用。相反,XML元素类型控制如何在其中定义资源放入R类。

  • XML /

用于配置应用程序组件的其他XML文件。例如,定义PreferenceScreen,AppWidgetProviderInfo或Searchability Metadata的XML文件。有关配置这些应用程序组件的更多信息,请参阅应用程序资源。

答案 1 :(得分:1)

“资源”和“资产”之间的差异表面上并不多,但一般来说,您将比使用资产更频繁地使用资源来存储外部内容。真正的区别在于资源目录中的任何内容都可以从您的应用程序中轻松访问,该类由Android编译。然而,放置在assets目录中的任何内容都将保持其原始文件格式,并且为了读取它,您必须使用AssetManager将文件作为字节流读取。因此,将文件和数据保存在资源(res /)中可以轻松访问它们。

有关详细信息,您可以看到以下链接: Link1Link2