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.

1

1 Answer 1

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.

Sign up to request clarification or add additional context in comments.

2 Comments

Does it save in internal sdcard? I dont think so? Its for external sdcard.
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?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.