Configuración de la imagen ImageView mediante la ruta del archivo desde el almacenamiento externo
Hola quería cambiar la imagen de mi ImageView utilizando un camino que he guardado en mi base de datos SQLite. Bueno lo que quiero lograr es que esto se ejecute por segundo siempre que la imagen esté disponible, se mostrará y permanecerá hasta que una próxima imagen estará disponible. Pero usará una imagen predeterminada cuando no haya nada que mostrar en absoluto. Pero por ahora el problema principal que quería resolver es que no puedo establecer la imageView utilizando el camino que tengo. He intentado diferentes soluciones, como hacer un mapa de bits fuera de la ruta, pero sigue recibiendo el mismo error que es: E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg: open failed: ENOENT (No such file or directory)
Aquí está mi código a partir de ahora:
String path = db.getImagePath(file_name, curTime); Log.v("Your image filename", file_name); Log.v("Your currentPosition", curTime); Log.v("Your Path Playback edit", path); try{ preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory()+"/Echo/Images/"+file_name)); }catch (Exception e){ e.printStackTrace(); preview.setImageResource(R.drawable.sample_image); }
Esto se ejecuta en un método ejecutables. y Aquí está el logcat que obtengo:
V/Your Path: /mnt/sdcard/Echo/Images/ V/Your image filename: Awesome4 - 00:01.jpg V/Your currentPosition: 00:01 V/Your Path Playback edit: /mnt/sdcard/Echo/Images/ E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg: open failed: ENOENT (No such file or directory) I/System.out: resolveUri failed on bad bitmap uri: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg D/dalvikvm: GC_CONCURRENT freed 380K, 14% free 3067K/3560K, paused 74ms+3ms, total 226ms V/Your image filename: Awesome4 - 00:02.jpg V/Your currentPosition: 00:02 V/Your Path Playback edit: [ 06-27 04:14:07.691 6043: 6043 E/BitmapFactory ] /mnt/sdcard/Echo/Images/Awesome4 - 00:02.jpg: open failed: ENOENT (No such file or directory)
compruebe esto si le ayuda.
preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Echo/Images/"+file_name));
que como lo hago
public final static String APP_PATH_SD_CARD = "/DesiredSubfolderName/"; public final static String APP_THUMBNAIL_PATH_SD_CARD = "thumbnails"; public boolean saveImageToExternalStorage(Bitmap image) { String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD + APP_THUMBNAIL_PATH_SD_CARD; try { File dir = new File(fullPath); if (!dir.exists()) { dir.mkdirs(); } OutputStream fOut = null; File file = new File(fullPath, "desiredFilename.png"); file.createNewFile(); fOut = new FileOutputStream(file); // 100 means no compression, the lower you go, the stronger the compression image.compress(Bitmap.CompressFormat.PNG, 100, fOut); fOut.flush(); fOut.close(); MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName()); return true; } catch (Exception e) { Log.e("saveToExternalStorage()", e.getMessage()); return false; } }