Как сделать флажок / слайдер постоянным? - PullRequest
0 голосов
/ 22 июня 2019

До сих пор я создавал приложения, которые в основном хранили объекты ecc в базе данных SQLite.Но как сделать постоянный флажок / слайдер?

Пример: пользователь заходит в настройки и проверяет «Использовать темный режим». Как сделать так, чтобы флажок оставался отмеченным после закрытия приложения, чтобы пользовательне придется проверять темный режим каждый раз, когда он открывает мое приложение?SharedPrefernces?

1 Ответ

0 голосов
/ 22 июня 2019

Как сказал @AndyRes, вы можете хранить такие простые данные в общих настройках.Это простое хранилище значений ключей, т.е. вы сохраняете значения для ключа и можете извлечь сохраненное значение, предоставив ключ.

Например,

getSharedPreferences().edit().putBoolean("my_key", checkBox.isChecked()).apply;

Сохранит значение флажка включ "my_key".Вы должны изменить это на что-то осмысленное. Вы хотите поместить это в слушатель, чтобы сохранять его каждый раз, когда состояние проверки изменяется, используя checkBox.setOnCheckedChangeListener или onClick кнопки сохранения.

Когда вы загружаете желаемое действиечтобы получить состояние и обновить флажок, чтобы он соответствовал, например:

//the second parameter false is the default value to be used if the key doesn't exist in the store
boolean checked = getSharedPreferences().getBoolean("my_key", false);
checkBox.setChecked(checked)

Обратите внимание, что я использую функцию getSharedPreferences (), которая является функцией Context и может использоваться в действии

...