📜  Android Studio中的资源原始文件夹

📅  最后修改于: 2021-05-08 20:53:11             🧑  作者: Mango

raw(res / raw)文件夹是最重要的文件夹之一,它在android studio中开发android项目期间起着非常重要的作用。 Android中的raw文件夹用于保存mp3,mp4,sfb文件。raw文件夹在res文件夹内创建: main / res / raw 。因此,我们只需在res文件夹中创建它即可。但是在创建原始文件夹之前,让我们看一下android中的资产文件夹,其作用与android studio中的原始文件夹相同。那么,让我们讨论一下资源原始文件夹与资产文件夹有何不同?

Resource raw文件夹与Assets文件夹有何不同?   

在Android中,可以将原始资产文件(如JSON,文本,mp3,HTML,pdf等)存储在两个可能的位置:

  1. 资产
  2. res /原始文件夹

资产和原始文件夹

两者看起来是相同的,因为它们可以读取文件并生成InputStream,如下所示。

但是什么时候使用哪个文件夹?

以下是一些可能有助于选择的指导

1.灵活的文件名:(资产更好)

  • 资产:开发人员可以以任何方式命名文件名,例如使用大写字母(fileName)或使用空格(文件名)。
  • res / raw:在这种情况下,文件名受到限制。基于文件的资源名称只能包含小写的az,0-9或下划线。

2.存储在子目录中:(可能在资产中)

  • 资产:如果开发人员想要将文件分类到子文件夹中,则他/她可以在如下所示的资产中进行操作。

资产文件夹

  • res / raw:在这种情况下,文件只能位于根文件夹中。

3.编译时检查:(可能在res / raw中)

  • 资产:这里,将其读入InputStream的方法如下。如果文件名不存在,那么我们需要捕获它。
  • res / raw文件夹:在这里,将其读入InputStream的方式是:

因此,将文件放在res / raw文件夹中将在编译时检查期间确保提供正确的文件名。

4.在运行时列出文件名:(可能在资产中)

  • 资产:如果开发人员想要列出资产文件夹中的所有文件,则他/她已使用list()函数并在根文件夹上提供了文件夹名称或“” ,如下所示。
  • res / raw:在此文件夹中无法执行此操作。开发人员必须在开发过程中而不是运行时知道文件名。

因此,在资产中,人们可以在运行时读取文件名,列出它们并动态使用它们。在res / raw中,可能需要在字符串资源文件中编写好代码。

5.可从XML访问的文件名:(可能在res / raw中)

  • 资产:开发人员可以简单地安排XML文件(例如AndroidManifest.xml)以指向资产文件夹中的文件的简单方法。
  • res / raw:在Java等任何XML文件中,开发人员都可以使用@ raw / filename轻松访问res / raw中的文件

因此,如果您需要以任何XML访问文件,请将其放在res / raw文件夹中。让我们做一个表格来轻松记住整个场景。

Scenario

Assets Folder

Res/Raw Folder
Flexible File Name

YES

NO

Store in subdirectory

YES

NO

Compile-time checking

NO

YES

List filenames at runtime

YES

NO

Filename accessible from XML

NO

YES

如何在Android Studio中创建资源原始文件夹?

现在让我们讨论如何在android studio中创建Resource Raw文件夹。以下是在Android Studio中创建Resource Raw文件夹的分步过程。

步骤1:要在Android Studio中创建Resource Raw文件夹,请首先以Android模式打开您的项目,如下图所示。

添加本地HTML文件

步骤2:打开您的android studio,转到应用> res>右键单击>新建> Android Resource Directory ,如下图所示。

步骤3:然后会出现一个弹出屏幕,如下所示。在“资源类型”中,选择raw

步骤4:从下拉菜单中选择原始文件后,单击确定按钮,并保持所有内容不变。

步骤5:现在您可以看到原始文件夹已创建,并且可以在应用程序> res> raw中找到折叠的文件夹,如下图所示。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!