Kotlin Multiplatform Academy · Lekcja

Dlaczego potrzebna jest abstrakcja ustawień

Jedno API nad SharedPreferences i NSUserDefaults

Lekcja 1 z 413 kroki

Dlaczego potrzebna jest abstrakcja ustawień to bezpłatna lekcja Kotlin Multiplatform Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.

Brakująca warstwa przechowywania

Android i iOS mają własne sposoby zapisywania niewielkich wartości. Bez współdzielonej warstwy trzeba byłoby napisać ten kod dwa razy. Naprawmy to. 🔑

Dwa natywne magazyny

Android przechowuje małe dane klucz-wartość w SharedPreferences, a iOS używa NSUserDefaults. Ta sama idea, ale dwa zupełnie różne interfejsy API.

Jeden interfejs dla obu magazynów

Abstrakcja ustawień ukrywa oba natywne magazyny za jednym interfejsem Kotlin, dzięki czemu współdzielony kod wszędzie wywołuje tę samą metodę.

Poznaj Multiplatform Settings

Biblioteka społecznościowa multiplatform-settings zapewnia dokładnie to: jeden typ Settings, korzystający z właściwego natywnego magazynu na każdej platformie.

Dodaj zależność

Dodajesz artefakt multiplatform-settings do commonMain współdzielonego modułu, aby każdy cel mógł z niego korzystać.

commonMain.dependencies {
    implementation("com.russhwolf:multiplatform-settings:1.1.1")
}

Interfejs Settings

Jego podstawą jest interfejs Settings. Współdzielony kod zależy od tego typu, nigdy bezpośrednio od magazynu platformy.

interface Settings {
    fun putString(key: String, value: String)
    fun getString(key: String, defaultValue: String): String
}

Po co w ogóle abstrakcja

Abstrakcja sprawia, że współdzielona logika jest przenośna. Można zmienić magazyn bazowy lub dodać platformę, a kod wywołujący pozostanie bez zmian.

Idealne rozwiązanie dla małych danych

Settings służy do przechowywania małych wartości: flag, nazwy użytkownika czy wyboru motywu. W przypadku dużych lub relacyjnych danych użyj SQLDelight.

Wstrzykuj, nie twórz

Każda platforma tworzy własną instancję Settings i przekazuje ją do współdzielonego kodu, dzięki czemu commonMain pozostaje wolny od platformowych zależności.

Wywołuj ze współdzielonego kodu

Po wstrzyknięciu współdzielony kod po prostu wywołuje metody Settings. Ta sama linia działa na Androidzie i iOS bez żadnych zmian.

fun saveTheme(settings: Settings, theme: String) {
    settings.putString("theme", theme)
}

Zaprojektowane z myślą o testowaniu

Ponieważ jest to interfejs, podczas testów można podstawić atrapę Settings działającą w pamięci — bez urządzenia ani emulatora. 🧪

Szybkie sprawdzenie

Upewnijmy się, że cel abstrakcji jest jasny.

Podsumowanie

Dowiedziano się, dlaczego KMP ukrywa natywne magazyny klucz-wartość za jednym interfejsem Settings: rozwiązanie jest przenośne, testowalne i napisane tylko raz. Następnie pora na rzeczywisty odczyt i zapis. 🎉

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Dlaczego potrzebna jest abstrakcja ustawień” jest bezpłatna?

Tak — pełny tekst „Dlaczego potrzebna jest abstrakcja ustawień” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Dlaczego potrzebna jest abstrakcja ustawień”?

Jedno API nad SharedPreferences i NSUserDefaults Ćwiczysz Kotlin Multiplatform Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Kotlin Multiplatform Academy?

Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Dlaczego potrzebna jest abstrakcja ustawień”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Multiplatform Academy?

Tak. Każda lekcja Kotlin Multiplatform Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Dlaczego potrzebna jest abstrakcja ustawień
  2. Odczyt i zapis wartości określonych typów
  3. Wartości domyślne i czyszczenie kluczy
  4. Bezpieczne przechowywanie tokenu uwierzytelniania
← Powrót do Kotlin Multiplatform Academy