0
J'ai enregistré une image avec succès sur ma carte SD sur un clic de bouton. Quand j'ai enregistré une autre image, mon application s'est écrasée. Je n'ai pas écraser l'image précédente car je veux que le nom de l'image reste le même. Comment puis-je faire ceci.Écraser l'image sur la carte SD android
ByteArrayOutputStream stream=new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 90, stream);
byte[] image=stream.toByteArray();
System.out.println("byte array:"+image);
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "myfile");
imagesFolder.mkdirs();
String fileName = "myfile.jpg";
File output = new File(imagesFolder, fileName);
while (output.exists()){
fileName = "myfile.jpg";
output = new File(imagesFolder, fileName);
}
while (output.exists()){
fileName = "myfile.jpg";
output = new File(imagesFolder, fileName);
}
Uri uriSavedImage = Uri.fromFile(output);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
OutputStream imageFileOS;
try {
imageFileOS = getContentResolver().openOutputStream(uriSavedImage);
//bitmap image here
imageFileOS.write(image);
imageFileOS.flush();
imageFileOS.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
. juste définir le même nom pour toutes les images .. – Riser