Android obtener Bitmap o sonido de los activos

Necesito obtener Bitmap y sonido de los activos. Intento hacer esto:

BitmapFactory.decodeFile("file:///android_asset/Files/Numbers/l1.png"); 

Y así:

 getBitmapFromAsset("Files/Numbers/l1.png"); private Bitmap getBitmapFromAsset(String strName) { AssetManager assetManager = getAssets(); InputStream istr = null; try { istr = assetManager.open(strName); } catch (IOException e) { e.printStackTrace(); } Bitmap bitmap = BitmapFactory.decodeStream(istr); return bitmap; } 

Pero recibo espacio libre, no imagen.

¿Como hacer esto?

 public static Bitmap getBitmapFromAsset(Context context, String filePath) { AssetManager assetManager = context.getAssets(); InputStream istr; Bitmap bitmap = null; try { istr = assetManager.open(filePath); bitmap = BitmapFactory.decodeStream(istr); } catch (IOException e) { // handle exception } return bitmap; } 

El camino es simplemente su nombre de archivo fx bitmap.png. Si utiliza el mapa de bits de subcarpeta / luego su bitmap / bitmap.png

Utilizar este código su funcionamiento

 try { InputStream bitmap=getAssets().open("icon.png"); Bitmap bit=BitmapFactory.decodeStream(bitmap); img.setImageBitmap(bit); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } 

Actualizar

Durante la decodificación de mapa de bits nos encontramos con más frecuencia con la excepción de desbordamiento de memoria si tamaño de imagen es muy grande. Así que la lectura de artículo Cómo mostrar la imagen de manera eficiente le ayudará.

La respuesta aceptada nunca cierra el InputStream . Este es un método de utilidad para obtener un Bitmap de Bitmap en la carpeta de activos:

 /** * Retrieve a bitmap from assets. * * @param mgr * The {@link AssetManager} obtained via {@link Context#getAssets()} * @param path * The path to the asset. * @return The {@link Bitmap} or {@code null} if we failed to decode the file. */ public static Bitmap getBitmapFromAsset(AssetManager mgr, String path) { InputStream is = null; Bitmap bitmap = null; try { is = mgr.open(path); bitmap = BitmapFactory.decodeStream(is); } catch (final IOException e) { bitmap = null; } finally { if (is != null) { try { is.close(); } catch (IOException ignored) { } } } return bitmap; } 
  • Cómo obtener una cantidad de los archivos en determinada carpeta en los activos?
  • ¿Cómo cargar una imagen de los activos?
  • Cómo copiar archivos de la carpeta 'assets' a sdcard?
  • Creación de activos de imagen en Android Studio
  • Cómo reproducir vídeos en android desde la carpeta de activos o la carpeta en bruto?
  • ¿Cómo hacer referencia a los "activos" de Android a través de paquetes?
  • Android google signin y facebook inicio de sesión botón de mirar completamente diferente
  • Lista de archivos en la carpeta de activos y sus subcarpetas
  • ¿Cuál es el método readStream ()? Yo apenas no puedo encontrarlo dondequiera,
  • Activos de Android con subcarpetas
  • GetAssets (); De otra clase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.