Save images from drawable to internal file storage in Android
Asked Answered
C

1

11

I have some 10 images saved in drawable folder. I want to move them to internal file storage.

Is this possible?

I have searched a lot but, I only found links where we can save image to internal file system from given path, but I want to save images from drawable folder to internal file storage in Android and I want to achieve this through code.

Any help will greatly be appreciated.

Thank you.

Craig answered 24/9, 2012 at 6:36 Comment(1)
Shrikant buddy u can follow this [drawable-sdcard][1] and [drawable-sdcard2][2]. Thanks furqi [1]: #10558553 [2]: #10199120Disgust
C
24

Saving image to sdcard from drawble resource:

Say you have an image namely ic_launcher in your drawable. Then get a bitmap object from this image like:

Bitmap bm = BitmapFactory.decodeResource( getResources(), R.drawable.ic_launcher);

The path to SD Card can be retrieved using:

String extStorageDirectory = Environment.getExternalStorageDirectory().toString();

Then save to sdcard on button click using:

File file = new File(extStorageDirectory, "ic_launcher.PNG");
    outStream = new FileOutputStream(file);
    bm.compress(Bitmap.CompressFormat.PNG, 100, outStream);
    outStream.flush();
    outStream.close();

Don't forget to add android.permission.WRITE_EXTERNAL_STORAGE permission.

Craig answered 8/2, 2013 at 5:9 Comment(2)
Does it save in internal sdcard? I dont think so? Its for external sdcard.Gyniatrics
Why dimension of png changed after saving? My orignal png in drawable is 180x40, but the image saved to internal storage is 540x120. Exactly 3 time height and width. Any clue?Longdrawnout

© 2022 - 2024 — McMap. All rights reserved.