2016-01-28 4 views
0

У меня есть приложение, где я разрешаю пользователю выбирать изображение из галереи и использовать его как ПРОФИЛЬ-КАРТИНКА, выбрать картинку и установить в «ImageView» в моем приложении.Сохранить изображениеПросмотреть состояние после выхода Приложение (onSaveInstanceState)

Проблема заключается в том, что когда приложение закрыто, действие изменилось, изображение перестало или снова было снято изображение по умолчанию, я хочу сохранить это состояние изображения, когда вернусь к действию или при закрытии и повторном открытии приложения изображение продолжается и не нужно устанавливать снова и снова. Я новичок в разработке, пожалуйста, если вы можете помочь мне посмотреть мой код ниже и дать внести необходимые изменения и дать мне готовый код, я буду очень благодарен, потому что я провел несколько дней, чтобы сделать это, и все же я не могу. Мне нужен готовый код, потому что я новичок в разработке, и если вы попробуете объяснить что-то, я не пойму.

Вот мой код, где я забрать картину:

public class MainActivity extends Activity { 
private static int RESULT_LOAD_IMG = 1; 
String imgDecodableString; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

public void loadImagefromGallery(View view) { 
    // Create intent to Open Image applications like Gallery, Google Photos 
    Intent galleryIntent = new Intent(Intent.ACTION_PICK, 
      android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    // Start the Intent 
    startActivityForResult(galleryIntent, RESULT_LOAD_IMG); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    try { 
     // When an Image is picked 
     if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK 
       && null != data) { 
      // Get the Image from data 

      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

      // Get the cursor 
      Cursor cursor = getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      // Move to first row 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      imgDecodableString = cursor.getString(columnIndex); 
      cursor.close(); 
      ImageView imgView = (ImageView) findViewById(R.id.imgView); 
      // Set the Image in ImageView after decoding the String 
      imgView.setImageBitmap(BitmapFactory 
        .decodeFile(imgDecodableString)); 

     } else { 
      Toast.makeText(this, "You haven't picked Image", 
        Toast.LENGTH_LONG).show(); 
     } 
    } catch (Exception e) { 
     Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG) 
       .show(); 
    } 

} 

}

ответ

Смежные вопросы