【问题标题】:android studio Unable to decode stream: java.io.FileNotFoundException:android studio 无法解码流:java.io.FileNotFoundException:
【发布时间】:2018-10-20 04:42:04
【问题描述】:

我是 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" />

我真的不知道它为什么会抛出异常,我实际上使用哪个路径来解码可绘制文件夹中的文件?

【问题讨论】:

    标签: java android


    【解决方案1】:

    您不能以这种方式加载可绘制资源。资源捆绑在 apk 中,它们不存储为文件。你应该改用BitmapFactory.decodeResource

    在这里阅读:https://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeResource(android.content.res.Resources,%20int)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      相关资源
      最近更新 更多