【问题标题】:difference between assets folder and res/xml [duplicate]资产文件夹和 res/xml 之间的区别 [重复]
【发布时间】:2014-02-12 08:25:21
【问题描述】:

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

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

【问题讨论】:

标签: android xml parsing


【解决方案1】:

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

检查这个:Android Projects Structure

1) 资产/

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

2) 资源/

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

  • 动画/

用于编译成动画对象的 XML 文件。查看动画资源类型。

  • 颜色/

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

  • 可绘制/

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

  • 布局/

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

  • 菜单/

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

  • 原始/

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

  • 价值观/

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

  • xml/

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

【讨论】:

  • 与其他人相比的最佳答案
【解决方案2】:

“资源”和“资产”之间的区别在表面上并没有太大区别,但总的来说,与使用资产相比,您使用资源存储外部内容的频率要高得多。真正的区别在于,任何放置在资源目录中的内容都可以通过 Android 编译的 R 类从您的应用程序中轻松访问。然而,放置在 assets 目录中的任何内容都将保持其原始文件格式,并且为了读取它,您必须使用 AssetManager 将文件作为字节流读取。因此,将文件和数据保存在资源 (res/) 中可以轻松访问它们。

有关详细信息,您可以查看以下链接: Link1, Link2

【讨论】:

  • 所以访问 res 文件夹比访问 assets 更快
猜你喜欢
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 2021-03-06
  • 2013-11-19
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
相关资源
最近更新 更多