Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
440 of 502 menu
◀ ▶

Функция booleanPreferencesKey

Функция booleanPreferencesKey возвращает Preferences.Key для boolean. Имя передают в name, значение пишут через edit и читают из снимка Preferences.

Синтаксис

val key = booleanPreferencesKey("abcde")

Параметры

Параметр Описание
name Строковое имя пары в файле prefs.

Пример

Давайте сохраним true по ключу abcde:

import android.content.Context import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.preferencesDataStore import androidx.lifecycle.lifecycleScope import kotlinx.coroutines.launch private val Context.dataStore by preferencesDataStore(name = "prefs") class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val key = booleanPreferencesKey("abcde") lifecycleScope.launch { val snapshot = dataStore.edit { it[key] = true } val res = snapshot[key] == true setContent { Text(text = if (res) "12345" else "abcde") } } } }

В prefs сохранится true, на экране Text покажет "12345".

Пример

Давайте переключим ключ на false:

import android.content.Context import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.preferencesDataStore import androidx.lifecycle.lifecycleScope import kotlinx.coroutines.launch private val Context.dataStore by preferencesDataStore(name = "prefs") class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val key = booleanPreferencesKey("abcde") lifecycleScope.launch { dataStore.edit { it[key] = true } val snapshot = dataStore.edit { it[key] = false } val res = snapshot[key] == true setContent { Text(text = if (res) "12345" else "abcde") } } } }

После второго edit в prefs будет false, на экране - "abcde".

Смотрите также

  • метод putBoolean,
    аналог записи boolean в SharedPreferences
  • функция intPreferencesKey,
    которой задают int-ключ
  • класс Preferences,
    откуда читают boolean
  • функция preferencesDataStore,
    которой объявляют dataStore
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить