Por que usar uma abstração de configurações
Crie uma única API sobre SharedPreferences e NSUserDefaults
Por que usar uma abstração de configurações é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
A lacuna no armazenamento
Android e iOS fornecem, cada um, sua própria maneira de salvar valores pequenos. Sem uma camada compartilhada, você teria de escrever esse código duas vezes. Vamos corrigir isso. 🔑
Dois armazenamentos nativos
O Android armazena dados pequenos de chave e valor em SharedPreferences, enquanto o iOS usa NSUserDefaults. A mesma ideia, duas APIs muito diferentes.
Uma API para unificar tudo
Uma abstração de Settings envolve ambos os armazenamentos nativos em uma única interface Kotlin, para que seu código compartilhado chame um método em qualquer lugar.
Conheça o Multiplatform Settings
A biblioteca da comunidade multiplatform-settings oferece exatamente isso: um único tipo Settings respaldado pelo armazenamento nativo correto em cada plataforma.
Adicione a dependência
Adicione o artefato multiplatform-settings ao commonMain do módulo compartilhado, para que todos os destinos possam usá-lo.
commonMain.dependencies {
implementation("com.russhwolf:multiplatform-settings:1.1.1")
}A interface Settings
No centro está a interface Settings. Seu código compartilhado depende desse tipo, nunca diretamente do armazenamento da plataforma.
interface Settings {
fun putString(key: String, value: String)
fun getString(key: String, defaultValue: String): String
}Por que abstrair
A abstração mantém sua lógica compartilhada portátil. Troque o armazenamento subjacente ou adicione uma plataforma posteriormente, e o código que chama a interface nunca mudará.
Perfeito para dados pequenos
Settings foi criado para valores pequenos: sinalizadores, um nome de usuário ou uma escolha de tema. Para dados grandes ou relacionais, use o SQLDelight.
Injete, não crie
Cada plataforma cria sua própria instância de Settings e a passa ao código compartilhado, para que commonMain permaneça livre de dependências da plataforma.
Chame a partir do código comum
Depois de injetado, seu código compartilhado simplesmente chama os métodos de Settings. A mesma linha é executada no Android e no iOS sem nenhuma alteração.
fun saveTheme(settings: Settings, theme: String) {
settings.putString("theme", theme)
}Projetado para facilitar testes
Como é uma interface, você pode inserir um falso Settings em memória durante os testes, sem precisar de um dispositivo ou emulador. 🧪
Verificação rápida
Vamos garantir que o objetivo da abstração esteja claro.
Recapitulação
Você aprendeu por que o KMP envolve os armazenamentos nativos de chave e valor em uma única interface Settings: portátil, testável e escrita uma única vez. Em seguida, leituras e gravações reais. 🎉
Aprenda Kotlin com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Por que usar uma abstração de configurações” é grátis?
Sim — o texto completo de “Por que usar uma abstração de configurações” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
O que vou aprender em “Por que usar uma abstração de configurações”?
Crie uma única API sobre SharedPreferences e NSUserDefaults Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?
Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Por que usar uma abstração de configurações”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?
Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que usar uma abstração de configurações
- Leia e escreva valores tipados
- Valores padrão e limpeza de chaves
- Armazene um token de autenticação com segurança