如何访问资源文件夹中与标准' res'不同的文件。 - Android

时间:2016-10-12 11:24:28

标签: android android-studio android-gradle android-resources

在Android Studio中,我需要使用与标准文件夹不同的一些资源(图像,音频等等)...',

假设我有:

  • ' _Resources'包含图片的文件夹' aaa.png'
  • 标准' res'包含图片的文件夹' bbb.png'

我已放入gradle文件:

android {
   sourceSets {
         main.resources.srcDirs += 'C:/..../myLibrary/src/_Resources'
   }
}

之后我在Android窗口(Android Studio的左上角)正确地看到标准' res'文件夹和'资源'文件夹中。

如果我必须访问' bbb.png' ' res'标准文件夹,我用:

import com.myproject.R
.....
int xxx = R.drawable.bbb

问题是: 怎么现在可以访问aaa.png?

在R.中没有看到;所以我试图导入别的东西,但是什么?

先谢谢你 福斯托

2 个答案:

答案 0 :(得分:0)

这是不可能的。如果在多个资源文件夹中定义两个具有相同名称的png文件,android将只加载其中一个(不确定哪一个)。

他们的名字实际上就是他们的身份证。如果它的独特性,ID的概念是敏感的。所以你不能这样做。

拥有多个资源文件夹只是分隔文件并使一切更清晰,更好的东西。只是归档,仅此而已。

答案 1 :(得分:0)

对于那些可能遇到同样问题的人:

我在访问资源文件夹方面没有成功,但我找到了另一种符合我需求的解决方案:

我添加了' _Resources'资产中的文件夹,用gradle文件写:

main.assets.srcDirs += 'C:/..../myLibrary/src/_Resources'

然后我通过以下方式访问资源代码:

AssetManager assetManager = getAssets();
InputStream myInputStream = assetManager.open("aaa.png");

全部......