Мое приложение продолжает сбрасываться после того, как я его закрываю

Мое приложение продолжает сбрасываться после того, как я его закрываю.

public class MainActivity extends AppCompatActivity {
    public static final int FILE_REQUEST_CODE = 1;
    ImageView IMG ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IMG = (ImageView) findViewById(R.id.imageView1);
        Button pickBtn = (Button) findViewById(R.id.pickBtn);

        pickBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pickImg();
            }
        });

    }

    private void pickImg() {
        new MaterialFilePicker()
                .withActivity(this)
                .withRequestCode(1)
                .withFilter(Pattern.compile(".*\\.(jpg|jpeg|png)$"))
                .withHiddenFiles(true)
                .withTitle("Sample title")
                .start();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == FILE_REQUEST_CODE && resultCode == RESULT_OK) {
            String filePath = data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH);
            // Do anything with file
            File imgFile = new  File(filePath);
            if (imgFile.exists()){
                Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
                IMG.setImageBitmap(myBitmap);
            }
        }
    }
}

Мое приложение заполнено только одной кнопкой и одним изображением по умолчанию. С помощью кнопки я могу выбрать изображение, чтобы заменить изображение по умолчанию.

Но когда я закрываю приложение и открываю его снова, изображение возвращается к значению по умолчанию.

Как сделать так, чтобы при запуске приложения отображалось последнее выбранное изображение ??

Вы можете использовать что-то вроде общих настроек, чтобы сохранить выбор, или, возможно, подумайте об использовании SQLite для его сохранения.

Tim Biegeleisen 07.08.2018 07:27

можете ссылку дать например? ty: D

lulu 07.08.2018 07:45

Просто найдите эти вещи в Google или выполните поиск по переполнению стека. Вы найдете массу полезных ресурсов.

Tim Biegeleisen 07.08.2018 07:46
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
41
1

Ответы 1

Если это приложение выполняет простую и автономную задачу, вы можете использовать Общее предпочтение для сохранения местоположения изображения. При onCreate проверьте, имеет ли объект sharedpreference значение null, если нет, загрузите с сохраненным значением.

Другие вопросы по теме