Sobes.tech
Junior — Middle

Pode explicar o que é o Preferences DataStore e como ele é usado para armazenar configurações do usuário?

sobes.tech IA

Resposta da IA

Preferences DataStore é uma forma moderna de armazenar dados simples de configuração do utilizador no Android, que substituiu o SharedPreferences. Baseia-se em Kotlin Coroutines e Flow, garantindo acesso assíncrono e seguro aos dados.

Principais características:

  • Armazena pares chave-valor (por exemplo, configurações da aplicação)
  • Acesso assíncrono sem bloqueios
  • Segurança de tipos através de chaves

Utilização:

  1. Crie uma instância de Preferences DataStore, geralmente como uma propriedade numa classe ou objeto:
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")
  1. Para gravar, use edit:
val EXAMPLE_KEY = preferencesKey<Boolean>("example_key")

context.dataStore.edit { settings ->
    settings[EXAMPLE_KEY] = true
}
  1. Para ler, use Flow:
val exampleFlow: Flow<Boolean> = context.dataStore.data
    .map { preferences ->
        preferences[EXAMPLE_KEY] ?: false
    }

Assim, Preferences DataStore é uma forma conveniente e moderna de guardar e obter configurações do utilizador em aplicações Android.