Android BitmapFactory.decodeFile()返回null
我正在创建一个Android应用程序,您可以在其中将图像从位置Android BitmapFactory.decodeFile()返回null,android,file,bitmap,bitmapfactory,Android,File,Bitmap,Bitmapfactory,我正在创建一个Android应用程序,您可以在其中将图像从位置x复制到位置y。复制完成后,我希望在ImageView中查看图片。 我知道图像的位置,但无论我尝试什么,我都无法创建它的位图对象 导致我出现问题的原因是: BitmapFactory.decodeFile(dir+s); dir=getCacheDir().getAbsolutePath()+“/images/” s=文件名(例如1275123123.jpg) 如果我创建一个具有相同路径的文件对象,并调用f.isFile(),它将返
x
复制到位置y
。复制完成后,我希望在ImageView
中查看图片。
我知道图像的位置,但无论我尝试什么,我都无法创建它的位图
对象
导致我出现问题的原因是:
BitmapFactory.decodeFile(dir+s);
dir=getCacheDir().getAbsolutePath()+“/images/”代码>
s=文件名(例如1275123123.jpg)
如果我创建一个具有相同路径的文件
对象,并调用f.isFile()
,它将返回true
在android或windows中打开图像都不是问题 我有一个类似的问题,最终解决的是创建FileInputStream(…)
并解码流。这是我使用的代码,我将其更改为适合您的情况:
File location = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/images");
File dest = new File(location, fileName + ".JPG");
FileInputStream fis;
fis = new FileInputStream(dest);
Bitmap img = BitmapFactory.decodeStream(fis);
我有一个类似的问题,最终解决的是创建FileInputStream(…)
并解码流。这是我使用的代码,我将其更改为适合您的情况:
File location = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/images");
File dest = new File(location, fileName + ".JPG");
FileInputStream fis;
fis = new FileInputStream(dest);
Bitmap img = BitmapFactory.decodeStream(fis);
您是否忘记添加SD卡访问权限读取外部存储和/或写入外部存储 您是否忘记添加SD卡访问权限读取外部存储和/或写入外部存储 您必须添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
对您清单的权限
请不要忘记向用户请求运行时权限。您必须添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
对您清单的权限
请不要忘记向用户请求运行时权限。真正的路径是什么?您是否检查了@blackbelt/data/data/net.hath.snapcap/cache/images/file。jpg@Ryan我刚才试过了,没用。真正的路径是什么?你检查过@blackbelt/data/data/net.hath.snapcap/cache/images/file了吗。jpg@Ryan我刚才试过了,它不起作用。我正在获取FileNotFoundException不创建fis。而文件对象是好的。请不要这样做decodeFile
调用decodeStream
本身:我得到FileNotFoundException没有创建fis。而文件对象是好的。请不要这样做<代码>解码文件
调用解码流
自身: