Копирование изображения во внутреннюю память

Как я копирую изображение во внутреннюю память и восстанавливаю после этого?

Вы можете использовать следующую комбинацию openFileOutput () и Bitmap.compress (), чтобы сохранить изображение во внутреннем хранилище.

// Create a BitMap object of the image to be worked with final Bitmap bm = BitmapFactory.decodeStream( ..some image.. ); // The openfileOutput() method creates a file on the phone/internal storage in the context of your application final FileOutputStream fos = openFileOutput("my_new_image.jpg", Context.MODE_PRIVATE); // Use the compress method on the BitMap object to write image to the OutputStream bm.compress(CompressFormat.JPEG, 90, fos); 

Я бы сделал это следующим образом:

 //read bitmap from resource public InputStream getBitmapStreamFromResource(Context context, int recourceId) { return context.getResources().getAssets().open(recourceId); } // convert stream into Bitmap public Bitmap getBitmapFromStream(InputStream is) { return BitmapFactory.decodeStream(is); } //inflate bitmap in a given parent View public View inflateToView(Context context, ViewGroup parent, Bitmap bitmap) { ViewGroup layout=new LinearLayout(context); layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); ImageView imageView=new ImageView(context); imageView.setEnabled(true); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setAdjustViewBounds(true); imageView.setImageBitmap(bitmap); layout.addView(imageView); parent.addView(layout); return layout; }