Kotlin Multiplatform Academy · Les

Waarom een settingsabstractie

Eén API voor SharedPreferences en NSUserDefaults

Les 1 van 413 stappen

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. 🎉

Gratis beginnen

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

  1. Waarom een settingsabstractie
  2. Getypeerde waarden lezen en schrijven
  3. Standaardwaarden en keys wissen
  4. Een auth-token veilig opslaan
← Terug naar Kotlin Multiplatform Academy