Android guardando Bitmap a la tarjeta SD

Tengo un botón y quiero que cuando haga clic en él la imagen se guarde en la tarjeta sd (o en el almacenamiento interno, como en htc one x no tenemos un almacenamiento externo como una tarjeta sd)

este es mi código:

sd.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub MpClick.start(); File myDir=new File("/sdcard/Saved_images"); myDir.mkdirs(); Random generator = new Random(); int n = 10000; n = generator.nextInt(n); String fname = "Image-"+ n +".jpg"; File file = new File (myDir, fname); if (file.exists ()) file.delete (); try { FileOutputStream out = new FileOutputStream(file); bitMapToShare.compress(Bitmap.CompressFormat.JPEG, 600, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } }); 

y cómo hago que aparezca un mensaje en el que está escrito “Tu imagen fue guardada”. como una alerta pero por 2 segundos y luego desaparece

prueba esto

 private void SaveImage(Bitmap finalBitmap) { String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/saved_images"); myDir.mkdirs(); Random generator = new Random(); int n = 10000; n = generator.nextInt(n); String fname = "Image-"+ n +".jpg"; File file = new File (myDir, fname); if (file.exists ()) file.delete (); try { FileOutputStream out = new FileOutputStream(file); finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } 

y agregar esto en manifiesto

   

Mira esta respuesta Android guardar el archivo en el almacenamiento externo

EDITAR : Al usar esta línea, puede ver las imágenes guardadas en la vista de la galería.

 sendBroadcast(new Intent( Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

Use el mensaje Toast

me gusta

 Toast.makeText(Your_class_name.this, "Your image is saved to this folder", Toast.LENGTH_LONG) .show(); 
    Intereting Posts