Я хочу показать изображение пользователя в своем приложении, поэтому я взял изображение в навигационном ящике.Как сохранить изображение галереи Android?
Сначала я получаю изображение из галереи и задаю это изображение для просмотра изображений. Но всякий раз, когда я закрываю приложение и открываю изображение, он не отображается (что я выбрал из галереи). Поэтому я хочу сохранить изображение во внутренней памяти.
Я пробовал, но изображение не отображается.
Пожалуйста, помогите мне.
Заранее спасибо.
Мой код:
rightimage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//gallery
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getActivity().getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
rightimage.setImageBitmap(BitmapFactory.decodeFile(picturePath));
//saving image in internal storage.
saveImageToInternalStorage(BitmapFactory.decodeFile(picturePath));
}
}
// //saving image in internal storage.
public boolean saveImageToInternalStorage(Bitmap image) {
try {
// Use the compress method on the Bitmap object to write image to
// the OutputStream
fos = getActivity().openFileOutput(file, Context.MODE_PRIVATE);
// Writing the bitmap to the output stream
image.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.close();
return true;
} catch (Exception e) {
Log.e("saveToInternalStorage()", e.getMessage());
return false;
}
}
public Bitmap getThumbnail(String filename) {
Bitmap thumbnail = null;
// If no file on external storage, look in internal storage
try {
Log.v("RTAG_IMAG",""+"IMG");
File filePath = getActivity().getFileStreamPath(filename);
FileInputStream fi = new FileInputStream(filePath);
thumbnail = BitmapFactory.decodeStream(fi);
rightimage.setImageBitmap(thumbnail);
} catch (Exception ex) {
Log.e("getThumbnail()", ex.getMessage());
}
return thumbnail;
}
ли вы опубликовать ваши журналы LogCat для этого. – AndRSoid