Waarom een settingsabstractie
Eén API voor SharedPreferences en NSUserDefaults
Waarom een settingsabstractie is een gratis Kotlin Multiplatform Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Kotlin Multiplatform Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Kotlin Multiplatform Academy bevat in totaal 4 lessen.
De opslagkloof
Android en iOS leveren elk hun eigen manier om kleine waarden op te slaan. Zonder een gedeelde laag zou je die code twee keer schrijven. Laten we dat oplossen. 🔑
Twee native opslagplaatsen
Android slaat kleine sleutel-waardegegevens op in SharedPreferences, terwijl iOS NSUserDefaults gebruikt. Hetzelfde idee, twee heel verschillende API's.
Eén API voor beide
Een Settings-abstractie wikkelt beide native opslagplaatsen achter één Kotlin-interface, zodat je gedeelde code overal één methode aanroept.
Maak kennis met Multiplatform Settings
De communitybibliotheek multiplatform-settings biedt precies dat: één type Settings dat op elk platform door de juiste native opslagplaats wordt ondersteund.
Voeg de afhankelijkheid toe
Je voegt het artefact multiplatform-settings toe aan commonMain van je gedeelde module, zodat elk doelplatform het kan gebruiken.
commonMain.dependencies {
implementation("com.russhwolf:multiplatform-settings:1.1.1")
}De Settings-interface
De kern is de interface Settings. Je gedeelde code is afhankelijk van dit type en nooit rechtstreeks van de opslagplaats van het platform.
interface Settings {
fun putString(key: String, value: String)
fun getString(key: String, defaultValue: String): String
}Waarom überhaupt abstraheren
Abstractie houdt je gedeelde logica overdraagbaar. Vervang de achterliggende opslagplaats of voeg later een platform toe: de aanroepende code verandert nooit.
Perfect voor kleine gegevens
Settings is gemaakt voor kleine waarden: vlaggen, een gebruikersnaam en een themakeuze. Gebruik voor grote of relationele gegevens liever SQLDelight.
Injecteren, niet aanmaken
Elk platform maakt zijn eigen Settings-instantie en geeft die door aan gedeelde code, zodat commonMain vrij blijft van platformafhankelijkheden.
Roep het aan vanuit common
Na het injecteren roept je gedeelde code gewoon de methoden van Settings aan. Dezelfde regel werkt zonder enige wijziging op Android en iOS.
fun saveTheme(settings: Settings, theme: String) {
settings.putString("theme", theme)
}Ontworpen voor tests
Omdat het een interface is, kun je tijdens tests een nepimplementatie van Settings in het geheugen gebruiken; je hebt geen apparaat of emulator nodig. 🧪
Korte controle
Laten we controleren of het doel van de abstractie duidelijk is.
Samenvatting
Je hebt geleerd waarom KMP native sleutel-waardewinkels achter één Settings-interface plaatst: overdraagbaar, testbaar en één keer geschreven. Nu echte lees- en schrijfbewerkingen. 🎉
Leer Kotlin met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Waarom een settingsabstractie” gratis?
Ja — de volledige tekst van “Waarom een settingsabstractie” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Kotlin Multiplatform Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Kotlin Multiplatform Academy bevat in totaal 4 lessen.
Wat leer ik in “Waarom een settingsabstractie”?
Eén API voor SharedPreferences en NSUserDefaults Je oefent met Kotlin Multiplatform Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Kotlin Multiplatform Academy te beginnen?
Ervaring vooraf is niet nodig. Kotlin Multiplatform Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Waarom een settingsabstractie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Kotlin Multiplatform Academy?
Ja. Elke les over Kotlin Multiplatform Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Waarom een settingsabstractie
- Getypeerde waarden lezen en schrijven
- Standaardwaarden en keys wissen
- Een auth-token veilig opslaan