J'ai un bouton, et je veux que lorsque je clique dessus, l'image soit enregistrée sur la carte SD (ou dans le stockage interne, car en htc one x nous n'avons pas de stockage externe comme une carte SD)
voici mon code:
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();
}
}
});
et comment faire apparaître un message, il est écrit "Votre image a été enregistrée". comme une alerte mais pendant 2 secondes puis disparaît
essaye ça
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();
}
}
et ajoutez ceci dans le manifeste
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
Regardez cette réponse fichier d'enregistrement Android sur un stockage externe
[~ # ~] modifier [~ # ~] : En utilisant cette ligne, vous pouvez voir les images enregistrées dans la vue de la galerie.
sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
Utilisez Toast message
comme
Toast.makeText(Your_class_name.this,
"Your image is saved to this folder", Toast.LENGTH_LONG)
.show();