Kotlin Multiplatform Academy · leksjon

Hent plattformnavnet per målplattform

En klassisk expect/actual-funksjon for Android og iOS

Leksjon 2 av 413 trinn

Hent plattformnavnet per målplattform er en gratis leksjon i Kotlin Multiplatform Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Kotlin Multiplatform Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.

KMPs Hello World

Å returnere plattformnavnet er det klassiske første expect/actual-eksempelet du skriver. Det viser at den delte modulen faktisk kjører i begge appene. 👋

Erklær expect

Start i commonMain med en expect-funksjon som returnerer en String. Ingen kropp ennå, bare formen begge plattformene er enige om.

expect fun platform(): String

Android-actual

I androidMain leverer du actual ved hjelp av Androids Build-klasse for å rapportere Android-versjonen under kjøring.

actual fun platform(): String =
  "Android " + Build.VERSION.SDK_INT

iOS-actual

I iosMain bruker actual Apples UIKit for å lese enhetens systemnavn og versjon.

actual fun platform(): String =
  UIDevice.currentDevice.systemName

Signaturene må samsvare

Begge actual-implementasjonene har nøyaktig samme navn, parametere og returtype som expect. Én eneste forskjell, og compiler nekter å bygge.

Kall den fra delt kode

Nå kan enhver felles funksjon fritt kalle platform(). Det ser ut som vanlig Kotlin, mens riktig actual kjører under overflaten.

fun greeting() = "Hi from " + platform()

Android ser sin verdi

Når Android-appen kaller greeting(), har kompilatoren koblet inn kroppen fra androidMain, så den viser Android-strengen.

iOS ser sin verdi

Det samme kallet fra Swift returnerer iOS-versjonen i stedet, fordi iosMain-actual ble kompilert inn i dette rammeverket.

Plattformimporter forblir lokale

Legg merke til at Build og UIDevice bare importeres i sine egne kildesett. Delt kode importerer aldri en platform-type direkte.

Et lite grensesnitt

Hold expect liten og målrettet. Én funksjon som returnerer et navn er nok til å bridge inn i hver plattform på en ryddig måte. ✨

Test tidlig

Kjør begge appene og skriv ut resultatet. Når du ser to forskjellige strenger, bekrefter det at expect/actual-koblingen fungerer fra ende til annen.

Rask sjekk

Tenk over hvordan riktig verdi blir valgt.

Oppsummering

Du har bygget den klassiske platform()-funksjonen: én expect i commonMain, en actual i androidMain og iosMain, samt samsvarende signaturer i alle tre.

Gratis å komme i gang

Lær deg Kotlin med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Hent plattformnavnet per målplattform» gratis?

Ja – hele teksten i «Hent plattformnavnet per målplattform» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Kotlin Multiplatform Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Kotlin Multiplatform Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Hent plattformnavnet per målplattform»?

En klassisk expect/actual-funksjon for Android og iOS Du øver på Kotlin Multiplatform Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Kotlin Multiplatform Academy?

Ingen tidligere erfaring er nødvendig. Kotlin Multiplatform Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Hent plattformnavnet per målplattform»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Kotlin Multiplatform Academy-leksjonen?

Ja. Alle Kotlin Multiplatform Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hvorfor expect/actual finnes
  2. Hent plattformnavnet per målplattform
  3. expect/actual-klasser og egenskaper
  4. Vanlige feil og kompilatorfeil
← Tilbake til Kotlin Multiplatform Academy