Warum eine Settings-Abstraktion sinnvoll ist
Eine API über SharedPreferences und NSUserDefaults bereitstellen
Warum eine Settings-Abstraktion sinnvoll ist ist eine kostenlose Kotlin Multiplatform Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Multiplatform Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
The Storage Gap
Android and iOS each ship their own way to save small values. Without a shared layer, you would write that code twice. Let's fix that. 🔑
Two Native Stores
Android stores small key-value data in SharedPreferences, while iOS uses NSUserDefaults. Same idea, two very different APIs.
One API to Rule Them
A Settings abstraction wraps both native stores behind a single Kotlin interface, so your shared code calls one method everywhere.
Meet Multiplatform Settings
The community library multiplatform-settings gives you exactly that: one Settings type backed by the right native store on each platform.
Add the Dependency
You add the multiplatform-settings artifact to your shared module's commonMain so every target can use it.
commonMain.dependencies {
implementation("com.russhwolf:multiplatform-settings:1.1.1")
}The Settings Interface
At its core sits the Settings interface. Your shared code depends on this type, never on the platform store directly.
interface Settings {
fun putString(key: String, value: String)
fun getString(key: String, defaultValue: String): String
}Why Abstract at All
Abstraction keeps your shared logic portable. Swap the backing store or add a platform later, and the calling code never changes.
Perfect for Small Data
Settings is built for small values: flags, a username, a theme choice. For big or relational data, reach for SQLDelight instead.
Inject, Don't Create
Each platform builds its own Settings instance and passes it into shared code, so commonMain stays free of platform dependencies.
Call It from Common
Once injected, your shared code just calls Settings methods. The same line runs on Android and iOS without a single change.
fun saveTheme(settings: Settings, theme: String) {
settings.putString("theme", theme)
}Test-Friendly by Design
Because it's an interface, you can drop in a fake in-memory Settings during tests, no device or emulator needed. 🧪
Quick Check
Let's make sure the abstraction's purpose is clear.
Recap
You learned why KMP wraps native key-value stores behind one Settings interface: portable, testable, and written once. Next, real reads and writes. 🎉
Häufig gestellte Fragen
Ist die Lektion „Warum eine Settings-Abstraktion sinnvoll ist“ kostenlos?
Ja — der vollständige Text von „Warum eine Settings-Abstraktion sinnvoll ist“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Multiplatform Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Warum eine Settings-Abstraktion sinnvoll ist“?
Eine API über SharedPreferences und NSUserDefaults bereitstellen Du übst Kotlin Multiplatform Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kotlin Multiplatform Academy zu starten?
Keine Vorkenntnisse erforderlich. Kotlin Multiplatform Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Warum eine Settings-Abstraktion sinnvoll ist“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kotlin Multiplatform Academy-Lektion Code schreiben und ausführen?
Ja. Jede Kotlin Multiplatform Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Warum eine Settings-Abstraktion sinnvoll ist
- Typisierte Werte lesen und schreiben
- Standardwerte und Schlüssel löschen
- Ein Auth-Token sicher speichern