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等)存储在两个可能的位置:
- 资产
- res /原始文件夹
两者看起来是相同的,因为它们可以读取文件并生成InputStream,如下所示。
// From assets
assets.open(assetPathFilename)
// From res/raw
resources.openRawResource(resourceRawFilename)
但是什么时候使用哪个文件夹?
以下是一些可能有助于选择的指导
1.灵活的文件名:(资产更好)
- 资产:开发人员可以以任何方式命名文件名,例如使用大写字母(fileName)或使用空格(文件名)。
- res / raw:在这种情况下,文件名受到限制。基于文件的资源名称只能包含小写的az,0-9或下划线。
2.存储在子目录中:(可能在资产中)
- 资产:如果开发人员想要将文件分类到子文件夹中,则他/她可以在如下所示的资产中进行操作。
- res / raw:在这种情况下,文件只能位于根文件夹中。
3.编译时检查:(可能在res / raw中)
- 资产:这里,将其读入InputStream的方法如下。如果文件名不存在,那么我们需要捕获它。
assets.open(“filename”)
- res / raw文件夹:在这里,将其读入InputStream的方式是:
resources.openRawResource(R.raw.filename)
因此,将文件放在res / raw文件夹中将在编译时检查期间确保提供正确的文件名。
4.在运行时列出文件名:(可能在资产中)
- 资产:如果开发人员想要列出资产文件夹中的所有文件,则他/她已使用list()函数并在根文件夹上提供了文件夹名称或“” ,如下所示。
assets.list(FOLDER_NAME)?.forEach {
println(it)
}
- 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模式打开您的项目,如下图所示。
步骤2:打开您的android studio,转到应用> res>右键单击>新建> Android Resource Directory ,如下图所示。
步骤3:然后会出现一个弹出屏幕,如下所示。在“资源类型”中,选择raw 。
步骤4:从下拉菜单中选择原始文件后,单击确定按钮,并保持所有内容不变。
步骤5:现在您可以看到原始文件夹已创建,并且可以在应用程序> res> raw中找到折叠的文件夹,如下图所示。