Android项目中getResourceAsStream的路径

问题描述 投票:5回答:2

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

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

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

java android jar imageview android-bitmap
2个回答
4
投票

您应使用Resources.openRawResource()

例如如果您的活动

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

记住将文件放在res/raw

编辑:

此外,Android有自己的方法来将可绘制对象(例如png文件)导入位图


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
© www.soinside.com 2019 - 2024. All rights reserved.