¿Cómo cargar una imagen de los activos?

Necesito cargar una imagen de los activos para evitar un error froyo 2.2.2 redimensionar imágenes POT en algunos casos particulares. La forma de evitarlo es cargar los archivos de imagen desde el directorio de activos.

Estoy tratando de hacer con esto:

String imagePath = "radiocd5.png"; AssetManager mngr = context.getAssets(); // Create an input stream to read from the asset folder InputStream is=null; try { is = mngr.open(imagePath); } catch (IOException e1) { e1.printStackTrace();} //Get the texture from the Android resource directory //InputStream is = context.getResources().openRawResource(R.drawable.radiocd5); Bitmap bitmap = null; try { //BitmapFactory is an Android graphics utility for images bitmap = BitmapFactory.decodeStream(is); } finally { //Always clear and close try { is.close(); is = null; } catch (IOException e) { } } 

Pero estoy recibiendo NullPointerException en la línea is.close();

I capturar una FileNotFoundException: radiocd5.png, pero ese archivo está en mi directorio de activos: S

¿Qué estoy haciendo mal? El archivo se llama radiocd5.png y está en el directorio de assets

Puede seguir mis tutoriales sobre la visualización de datos de Activos: https://xjaphx.wordpress.com/2011/10/02/store-and-use-files-in-assets/
El ejemplo con la imagen de carga y el texto a mostrar.

Ahora agregué la parte relevante del enlace proporcionado (en caso de terremoto o algo) 😉 Taifun

 // load image try { // get input stream InputStream ims = getAssets().open("avatar.jpg"); // load image as Drawable Drawable d = Drawable.createFromStream(ims, null); // set image to ImageView mImage.setImageDrawable(d); } catch(IOException ex) { return; } 

En lugar de utilizar el dir de activos, ponga el archivo en / res / raw y, a continuación, puede acceder a él mediante el siguiente URI: android.resource://com.your.packagename/" + R.raw.radiocd5

  try { InputStream istr =this.context.getAssets().open(P.strImage); //set drawable from stream this.imgProduct.setImageDrawable(Drawable.createFromStream(istr, null)); } catch (IOException e) { e.printStackTrace(); } 
  protected String openImageInAssets(String imageName){ String encodedImageBase64 = ""; AssetManager assetManager = getAssets(); InputStream fileStream = null; try { fileStream = assetManager.open(imageName); if(fileStream != null){ // BitmapFactory.Options bfo = new BitmapFactory.Options(); // bfo.inPreferredConfig = Bitmap.Config.ARGB_8888; // Bitmap bitmap = BitmapFactory.decodeStream(fileStream, null, bfo); Bitmap bitmap = BitmapFactory.decodeStream(fileStream); // Convert bitmap to Base64 encoded image for web ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); // to get image extension file name split the received int fileExtensionPosition = imageName.lastIndexOf('.'); String fileExtension = imageName.substring(fileExtensionPosition+1); // Log.d(IConstants.TAG,"fileExtension: " + fileExtension); if(fileExtension.equalsIgnoreCase("png")){ bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); // Log.d(IConstants.TAG,"fileExtension is PNG"); }else if(fileExtension.equalsIgnoreCase("jpg") || fileExtension.equalsIgnoreCase("jpeg")){ bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); // Log.d(TAG,"fileExtension is JPG"); } byte[] byteArray = byteArrayOutputStream.toByteArray(); String imgageBase64 = Base64.encodeToString(byteArray, Base64.DEFAULT); encodedImageBase64 = "data:image/png;base64," + imgageBase64; } } catch (IOException e) { e.printStackTrace(); return encodedImageBase64=""; } finally { //Always clear and close try { if(fileStream != null) { fileStream.close(); fileStream = null; } } catch (IOException e) { e.printStackTrace(); } } // Log.d(TAG,"encodedImageBase64: " + encodedImageBase64); return encodedImageBase64; } 
  • ¿Cómo hacer referencia a los "activos" de Android a través de paquetes?
  • Seguridad de la carpeta de activos de Android
  • Cómo proteger la carpeta de activos de Android de los hackers
  • Android google signin y facebook inicio de sesión botón de mirar completamente diferente
  • Lectura de PDF desde la carpeta de activos usando PDFViewer.jar
  • ¿Cómo cargar videos de la carpeta de activos? (Para reproducirlas con VideoView)
  • ¿Cuál es el método readStream ()? Yo apenas no puedo encontrarlo dondequiera,
  • Android obtener Bitmap o sonido de los activos
  • Activos de Android con subcarpetas
  • Android Cómo leer un recurso desde fuera de la actividad principal
  • Seguridad de activos en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.