Intereting Posts
Разницу во времени с строкой вроде «Минута назад» или «Час назад» на Android Программирование Android ServerSocket с потоковыми файлами jCIFS Как добавить данные, которые я ввел в поле EditText, в массив, который будет отображаться в другом виде? Как установить шрифт Spannable object с пользовательским шрифтом Twitter Bootstrap: навигационная панель не изменяется при изменении ориентации (только с браузером акций Android) Отладка приложений для Android на сайте Dell 7 с использованием Eclipse React-native android игнорирует navigator.geolocation.getCurrentPosition Изменение цвета фона элементов списка на Android Музыкальный плеер Android не переиндексируется после добавления песни Ошибка «no command» adb 'found' на Ubuntu Открытие службы с помощью смартфона android и других устройств Бирманская речь для преобразования текста в андроид? Тест UI для Android Espresso – Не удалось выполнить проверку: сбой инструментария из-за «java.lang.IllegalAccessError» Аутентификация и токен доступа к веб-сервису iPhone Градиент построения Android слишком медленный (разрешение зависимостей)

Как сохранить логическое значение с помощью SharedPreferences в Android?

Я хочу сохранить логические значения, а затем сравнить их в блоке if-else.

Моя нынешняя логика:

boolean locked = true; if (locked == true) { /* SETBoolean TO FALSE */ } else { Intent newActivity4 = new Intent(parent.getContext(), Tag1.class); startActivity(newActivity4); } 

Как сохранить логическую переменную, для которой установлено значение false?

Solutions Collecting From Web of "Как сохранить логическое значение с помощью SharedPreferences в Android?"

 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(); Boolean statusLocked = prefs.edit().putBoolean("locked", true).commit(); 

Если вы не заботитесь о возвращаемом значении (статусе), тогда вы должны использовать .apply (), который быстрее, потому что он асинхронен.

 prefs.edit().putBoolean("locked", true).apply(); 

Вернуть их обратно

 Boolean yourLocked = prefs.getBoolean("locked", false); 

А false – значение по умолчанию, когда оно терпит неудачу или не установлено

В вашем коде это будет выглядеть так:

 boolean locked = true; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(); if (locked) { //maybe you want to check it by getting the sharedpreferences. Use this instead if (locked) // if (prefs.getBoolean("locked", locked) { prefs.edit().putBoolean("locked", true).commit(); } else { startActivity(new Intent(parent.getContext(), Tag1.class)); }