2013-05-13 4 views
1

Я создаю приложение для Android, в котором вы копируете изображение из местоположения x в местоположение y. После завершения копирования я хотел бы увидеть изображение в ImageView. Я знаю местоположение изображений, но независимо от того, что я пытаюсь, я не могу создать объект bitmap.BitmapFactory.decodeFile() возвращает null

Линия, вызывают мои проблемы заключается в следующем:

BitmapFactory.decodeFile(dir+s); 

dir = getCacheDir().getAbsolutePath()+"/images/";

s = file name (eg. 1275123123.jpg)

Если я создаю File объект с тем же путем, и вызвать f.isFile(), он возвращает true.

Открытие изображения в андроиде или в окнах не представляет проблемы.

+0

Какой настоящий путь? – Blackbelt

+0

Вы проверили http://stackoverflow.com/questions/6013029/android-decodefile-always-returns-null-for-file-in-internal-storage – Ryan

+0

@blackbelt /data/data/net.hath.snapcap/cache /images/file.jpg – MartinHaTh

ответ

2

У меня была аналогичная проблема, и в конце концов она решила создать 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); 
+0

Я получаю FileNotFoundException, не создавая fis. В то время как объект File прекрасен. Пожалуйста, помогите – Husyn

+0

Не нужно это делать. 'decodeFile' вызывает' decodeStream': http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.2_r1/android/graphics/BitmapFactory.java# BitmapFactory.decodeFile% 28java.lang.String% 29 –

5

Вы не забыли добавить SD карту разрешения доступа READ_EXTERNAL_STORAGE и/или WRITE_EXTERNAL_STORAGE?

Смежные вопросы