我是Android Studio的新手,我正努力使用其文件名而不是其ID加载图像。
public static Bitmap load(String name) {
File dir = Environment.getExternalStorageDirectory();
return BitmapFactory.decodeFile(dir + "/res/drawable/" + name + ".png");
}
这是我到目前为止所获得的,但是它抛出了FileNotFoundException:
无法解码流:java.io.FileNotFoundException:/storage/emulated/0/res/drawable/image.png:打开失败:ENOENT(没有这样的文件或目录)
我还向android-manifest中添加了以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我真的不知道为什么会引发异常,实际上我该使用哪条路径来解码可绘制文件夹中的文件?
答案 0 :(得分:0)
您不能以这种方式加载可绘制资源。资源捆绑在apk中,它们不存储为文件。您应该改用BitmapFactory.decodeResource
。