0Pricing
Kotlin Multiplatform Academy · Leçon

Pourquoi une abstraction des paramètres

Utilisez une seule API pour SharedPreferences et NSUserDefaults.

Pourquoi une abstraction des paramètres est une leçon Kotlin Multiplatform Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Multiplatform Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

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

Questions Fréquemment Posées

La leçon « Pourquoi une abstraction des paramètres » est-elle gratuite ?

Oui — le texte complet de « Pourquoi une abstraction des paramètres » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Multiplatform Academy, passe à CoddyKit PRO. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Pourquoi une abstraction des paramètres » ?

Utilisez une seule API pour SharedPreferences et NSUserDefaults. Tu pratiques Kotlin Multiplatform Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Multiplatform Academy ?

Aucune expérience préalable n'est requise. Kotlin Multiplatform Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Pourquoi une abstraction des paramètres » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Multiplatform Academy ?

Oui. Chaque leçon Kotlin Multiplatform Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi une abstraction des paramètres
  2. Lire et écrire des valeurs typées
  3. Valeurs par défaut et suppression des clés
  4. Stocker un jeton d’authentification en toute sécurité
← Retour à Kotlin Multiplatform Academy