Hent plattformnavnet per målplattform
En klassisk expect/actual-funksjon for Android og iOS
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(): StringAndroid-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_INTiOS-actual
I iosMain bruker actual Apples UIKit for å lese enhetens systemnavn og versjon.
actual fun platform(): String =
UIDevice.currentDevice.systemNameSignaturene 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.
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
- Hvorfor expect/actual finnes
- Hent plattformnavnet per målplattform
- expect/actual-klasser og egenskaper
- Vanlige feil og kompilatorfeil