Android Studio - 什么是 Java 资源文件夹?

Max*_*x J 5 android intellij-idea android-resources android-studio

我知道有两个众所周知的文件夹可以放置资源。

第一个是/assets文件夹,文档说:

包含应按原样编译为 .apk 文件的文件。您可以使用 URI 以与典型文件系统相同的方式导航此目录,并使用 AssetManager 将文件作为字节流读取。例如,这是纹理和游戏数据的好位置。

第二个是/res文件夹,文档说:

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

现在我想知道,还有第三个选项来创建资源文件夹"New > Folder > Java Resources Folder" 对我来说,我看起来像 IntelliJ 中 Android 插件的一部分,因为它前面有一个小 Android 符号

有什么想法它有什么用处吗?我找不到任何有关它的文档。

我的第一个猜测是在您想要为 JVM 测试提供资源的情况下使用它。

小智 3

  • 在标准的java世界中

    资源可以直接嵌入“您的源代码树”中,并与类的方法 getResource 一起使用(有关更精确的描述,请参阅 java 文档)。

  • 在安卓世界里

    不推荐这种做法(根本不起作用,因为此类资源会从生成的 APK 中删除)。您仍然可以声明 Java 资源文件夹(请参阅 build.gradle : sourceSets { main { resources.srcDirs = ['src/main/java/yourresourcesfolder'] } } Android Studio Java 资源文件夹 apk 中的结果: 生成的apk

  • 结论

    由于资源的文件夹树被删除,从我的角度来看,使用java的资源文件夹变得毫无用处(在android项目中)。使用android的asset文件夹是一个更好的选择(也可以避免资源名称冲突,但这是另一个故事了:D)