Проблема с запуском после добавления SharedPreferences

289
03 января 2018, 19:01

После добавления этих строк приложение перестало запускаться и телефон выдаёт что там угроза

Сохранение

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt("best_score", score);
        editor.commit();

Загрузка

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
if (sharedPreferences.contains("best_score")) {
            // we have a high score saved, load it...
            int bestscore = sharedPreferences.getInt("best_score", -1);
            scores.setText("Лучший : " + bestscore);
            // here you'd like to do something with the value, for example display it.
        } else {
            scores.setText("Лучший : 0");
            // there is no high score value - you should probably hide the "best score" TextView
        }

UPD: проверял-проверял и заметил, что как только добавляю строчку SharedPreferences.Editor editor = sharedPreferences.edit(); тут же приложение перестаёт запускаться

Answer 1

Для получения SharedPreferences не нужно запускать Editor. И проверку .contains() делать тоже не нужно, это сильно замедляет время загрузки, особенно если код находится в onCreate().

Делайте примерно как-то так:

mSharedPref = getPreferences(Context.MODE_PRIVATE);
int bestscore = mSharedPref.getInt(getString(R.string.best_score), 0);
scores.setText("Лучший : " + bestscore);

Если best_score отсутствует, то будет использовано значение по умолчанию 0.

READ ALSO
Как инициализировать static final переменную в try catch

Как инициализировать static final переменную в try catch

Добрый деньМне надо инициализировать static final переменную, делаю я это в статическом блоке инициализации

308
Не могу понять описание rinex obs файла

Не могу понять описание rinex obs файла

Здравствуйте, подскажите, пожалуйста, пытаюсь распарсить файл Rinex obs (Файл данных наблюдений)

248
Чем iterator отличается от цикла for в Java?

Чем iterator отличается от цикла for в Java?

Объясните, пожалуйста, в каких случаях итератор лучше цикла? Еще мне интересно как в итераторе я могу задать сортировку элементов массива,...

337