Perché serve un'astrazione delle impostazioni
Un'unica API sopra SharedPreferences e NSUserDefaults
Perché serve un'astrazione delle impostazioni è una lezione Kotlin Multiplatform Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Multiplatform Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
Il divario nell'archiviazione
Android e iOS forniscono ciascuno il proprio modo di salvare piccoli valori. Senza un livello condiviso, dovreste scrivere quel codice due volte. Risolviamo il problema. 🔑
Due archivi nativi
Android salva i dati chiave-valore di piccole dimensioni in SharedPreferences, mentre iOS usa NSUserDefaults. Stessa idea, due API molto diverse.
Un'unica API per gestirli
Un'astrazione Settings nasconde entrambi gli archivi nativi dietro un'unica interfaccia Kotlin, così il codice condiviso chiama lo stesso metodo ovunque.
Conoscere Multiplatform Settings
La libreria della community multiplatform-settings offre esattamente questo: un unico tipo Settings supportato dall'archivio nativo appropriato su ciascuna piattaforma.
Aggiungere la dipendenza
Aggiungete l'artefatto multiplatform-settings al commonMain del modulo condiviso, così ogni target può utilizzarlo.
commonMain.dependencies {
implementation("com.russhwolf:multiplatform-settings:1.1.1")
}L'interfaccia Settings
Al centro si trova l'interfaccia Settings. Il codice condiviso dipende da questo tipo, mai direttamente dall'archivio della piattaforma.
interface Settings {
fun putString(key: String, value: String)
fun getString(key: String, defaultValue: String): String
}Perché usare un'astrazione
L'astrazione mantiene la logica condivisa portabile. Potete sostituire l'archivio sottostante o aggiungere una piattaforma senza modificare il codice chiamante.
Perfetto per piccoli dati
Settings è pensato per i valori di piccole dimensioni: flag, un nome utente o la scelta di un tema. Per dati grandi o relazionali, usate invece SQLDelight.
Iniettare, non creare
Ogni piattaforma crea la propria istanza di Settings e la passa al codice condiviso, così commonMain rimane privo di dipendenze dalla piattaforma.
Chiamarlo dal codice comune
Una volta effettuata l'iniezione, il codice condiviso chiama semplicemente i metodi di Settings. La stessa riga viene eseguita su Android e iOS senza alcuna modifica.
fun saveTheme(settings: Settings, theme: String) {
settings.putString("theme", theme)
}Progettato per facilitare i test
Poiché è un'interfaccia, durante i test potete sostituirla con un fake Settings in memoria, senza bisogno di un dispositivo o di un emulatore. 🧪
Verifica rapida
Assicuriamoci che lo scopo dell'astrazione sia chiaro.
Riepilogo
Avete imparato perché KMP nasconde gli archivi nativi chiave-valore dietro un'unica interfaccia Settings: portabile, testabile e scritta una sola volta. Ora passiamo a letture e scritture reali. 🎉
Domande Frequenti
La lezione «Perché serve un'astrazione delle impostazioni» è gratuita?
Sì — il testo completo di «Perché serve un'astrazione delle impostazioni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Multiplatform Academy, passa a CoddyKit PRO. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
Cosa imparerò in «Perché serve un'astrazione delle impostazioni»?
Un'unica API sopra SharedPreferences e NSUserDefaults Eserciti Kotlin Multiplatform Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kotlin Multiplatform Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Multiplatform Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Perché serve un'astrazione delle impostazioni»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kotlin Multiplatform Academy?
Sì. Ogni lezione Kotlin Multiplatform Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Perché serve un'astrazione delle impostazioni
- Leggere e scrivere valori tipizzati
- Valori predefiniti e cancellazione delle chiavi
- Memorizzare in sicurezza un token di autenticazione