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

Fra*_*les 2 xml parsing android

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

这两个文件夹有什么区别?什么是最佳实践?性能上有区别吗?

小智 5

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

检查这个:Android 项目结构

1) 资产/

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

2)资源/

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

  • 动画/

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

  • 颜色/

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

  • 可绘制/

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

  • 布局/

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

  • 菜单/

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

  • 生的/

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

  • 值/

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

  • xml/

用于配置应用程序组件的各种 XML 文件。例如,定义 PreferenceScreen、AppWidgetProviderInfo 或可搜索性元数据的 XML 文件。有关配置这些应用程序组件的更多信息,请参阅应用程序资源。