Android项目中getResourceAsStream的路径

时间:2015-08-30 11:53:31

标签: java android jar imageview android-bitmap

我正在尝试以编程方式加载.png文件,但我不确定我应该给出的确切路径是什么。我尝试了不同的路径,我认为这会让我到资源,但都返回null:

InputStream is = getClass().getClassLoader().getResourceAsStream("playstore.png");
Bitmap bmp = BitmapFactory.decodeStream(is);
mStoreImage.setImageBitmap(bmp);

如果我理解正确,我无法使用资源,因为我正在构建.jar。这是我在Android Studio中显示的项目包结构: enter image description here

2 个答案:

答案 0 :(得分:4)

您应该使用Resources.openRawResource()

e.g。如果你的活动

getResources().openRawResource(R.raw.playstore.png);

请记得将文件放在res/raw

修改

此外,android有自己的方法将drawable(例如png文件)放入Bitmap

答案 1 :(得分:0)

Android Studio Gradle项目以与Maven相同的方式从单独的资源目录中读取文件。

在Windows资源管理器中创建“资源”文件夹(Android Studio不允许您这样做),然后重新创建程序包路径并将文件放置在其中,例如:

位于此路径上的类:

C:\...\app\src\main\java\com\adscendmedia\videosdk\AdscnedAPI.java

从此路径读取资源文件:

C:\...\app\src\main\resources\com\adscendmedia\videosdk\playstore.png