BitmapFactory.decodeFile devuelve una imagen nula incluso existe

Guardando el archivo:

FileOutputStream fo = null; try { fo = this.openFileOutput("test.png", Context.MODE_WORLD_READABLE); } catch (FileNotFoundException e) { e.printStackTrace(); } bitmap.compress(CompressFormat.PNG, 100, fo) 

Cargando el archivo:

 String fname = this.getFilesDir().getAbsolutePath()+"/test.png"; Bitmap bMap = BitmapFactory.decodeFile(fname); i.setImageBitmap(bMap); 

La última línea da una excepción de puntero nulo, ¿por qué BitmapFactory.decodeFile devuelve null? Puedo verificar que el archivo se está guardando correctamente como puedo tirar con adb y ver el png que muestra correctamente.

Si la NullPointerException está directamente en esta línea:

I.setImageBitmap (bMap);

Entonces su problema es que i es null . Dado que usted está llamando a setImageBitmap (), supongo que i es un ImageView – asegúrese de que su llamada findViewById() está funcionando.

Además, debe utilizar lo siguiente para obtener fname :

String fname = new Archivo (getFilesDir (), "test.png"). GetAbsolutePath ();

Cuando se utiliza el parámetro options en el método DecodeFile asegúrese de que la propiedad InJustDecodeBounds se establece en false o de lo contrario siempre devolverá null. Esto se puede establecer en true cuando sólo desea que el archivo se descodifique, pero no lo necesita más en su aplicación / código. De esta manera no se necesita asignar memoria adicional. Vea aquí un ejemplo.

  • ALPHA_8 bitmaps y getPixel
  • Redondeando solamente UNA esquina de la imagen - no todas las cuatro
  • ¿Cómo crear un ángulo parcialmente redondeado-curvas rectangulares con centro de cultivo y sin crear nuevo mapa de bits?
  • Error de OutOfMemory del cargador de imágenes universal
  • ¿Cómo convertir LayerDrawable a Bitmap?
  • Bitmap vs ImageView vs Drawable
  • Cómo convertir una imagen Drawable de recursos a un mapa de bits
  • ¿Las texturas de OpenGL son más eficientes que los mapas de bits de Android?
  • Cómo dibujar un mapa de bits con transparencia
  • Mover mapa de bits en lienzo
  • Superposición de color en android NDK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.