Najpierw trzeba uzyskać bitmapę. już można mieć go jako Bitmap obiektu, można też spróbować dostać go od ImageView takich jak:
BitmapDrawable drawable = (BitmapDrawable) mImageView1.getDrawable();
Bitmap bitmap = drawable.getBitmap();
Następnie trzeba dostać się do katalogu (a File obiektu) z kartą SD, takich jak:
File sdCardDirectory = Environment.getExternalStorageDirectory();
Następnie utwórz swój konkretny plik do przechowywania obrazów:
File image = new File(sdCardDirectory, "test.png");
potem, po prostu trzeba napisać bitmapy dzięki metodzie compress takie jak:
boolean success = false;
// Encode the file as a PNG image.
FileOutputStream outStream;
try {
outStream = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
/* 100 to keep full quality of the image */
outStream.flush();
outStream.close();
success = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Wreszcie, po prostu zajmij się wynikiem boolean, jeśli to konieczne. Takich jak:
if (success) {
Toast.makeText(getApplicationContext(), "Image saved with success",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),
"Error during image saving", Toast.LENGTH_LONG).show();
}
Nie zapomnij dodać następujące uprawnienia w swoim manifeście:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Istnieje wiele odpowiedzi na to pytanie, użycie wyszukiwania pierwszy! http://stackoverflow.com/questions/4875114/android-save-image-from-url-onto-sd-card –