0Pricing
Kotlin Multiplatform Academy · Lektion

expect/actual für Geräteinformationen

Geben Sie Betriebssystemversion und Modell je Plattform zurück.

expect/actual für Geräteinformationen ist eine kostenlose Kotlin Multiplatform Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Vom Interface zu expect

Manchmal überspringen Sie ein Interface und verwenden direkt expect/actual. Damit deklarieren Sie Geräteinformationen einmal in commonMain und implementieren sie für jede Plattform.

Die expect-Klasse deklarieren

Schreiben Sie in commonMain eine expect-Klasse mit den benötigten Geräteinformationen. Es gibt noch keinen Rumpf, sondern nur die Form, die beide Plattformen erfüllen müssen.

expect class DeviceInfo() {
  val model: String
  val osVersion: String
}

Das Android-actual

In androidMain liest das actual Build.MODEL und die Betriebssystemversion aus, um zur Laufzeit echte Android-Werte zu ermitteln.

actual class DeviceInfo {
  actual val model = Build.MODEL
  actual val osVersion = Build.VERSION.RELEASE
}

Das iOS-actual

In iosMain verwendet das actual UIDevice, um Apples Modellnamen und die laufende iOS-Version zu melden.

actual class DeviceInfo {
  actual val model = UIDevice.currentDevice.model
  actual val osVersion = UIDevice.currentDevice.systemVersion
}

Signaturen müssen übereinstimmen

Jede Eigenschaft jedes actual muss hinsichtlich Name und Typ mit dem expect übereinstimmen. Bereits eine einzige Abweichung genügt, damit der Compiler die Verknüpfung der Ziele verweigert.

Aus gemeinsamem Code verwenden

Gemeinsamer Code erstellt DeviceInfo() und liest seine Eigenschaften wie bei normalem Kotlin aus. Das passende actual wird beim Build pro Ziel eingebunden.

fun banner() = "Running on " + DeviceInfo().model

Android erhält Build-Werte

Beim Erstellen der Android-App wird das actual aus androidMain verknüpft, sodass model den echten Hardwarenamen aus der Build-Klasse zurückgibt.

iOS erhält UIDevice-Werte

Der identische Aufruf innerhalb des iOS-Frameworks gibt die Werte von Apple zurück, da stattdessen das actual aus iosMain in dieses Target kompiliert wurde.

Imports bleiben in den Source Sets

Build befindet sich in androidMain und UIDevice in iosMain. CommonMain importiert niemals einen platform-Typ. Genau das sorgt dafür, dass der Code gemeinsam genutzt werden kann.

expect/actual oder Interface

Bei einem interface müssen Sie eine Implementierung injizieren. expect/actual wird automatisch zur Compile-Zeit verknüpft, sodass Aufrufer einfach die Klasse instanziieren.

Wählen Sie das einfachere Werkzeug

Für eine einzelne, zustandslose plattformspezifische Information ist expect/actual die schlankere Wahl. Verwenden Sie ein Interface, wenn Sie außerdem problemlos Fakes austauschen möchten.

Kurze Überprüfung

Überlegen Sie, wie die passenden Gerätewerte die jeweilige App erreichen.

Zusammenfassung

Sie haben ein expect DeviceInfo in commonMain deklariert und Android und iOS mit actual-Implementierungen versehen. Die Signaturen stimmen überein, sodass jede App ihre eigenen Werte meldet. 🎉

Häufig gestellte Fragen

Ist die Lektion „expect/actual für Geräteinformationen“ kostenlos?

Ja — der vollständige Text von „expect/actual für Geräteinformationen“ 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 „expect/actual für Geräteinformationen“?

Geben Sie Betriebssystemversion und Modell je Plattform zurück. 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 2 von 4.

Wie lange dauert die Lektion „expect/actual für Geräteinformationen“?

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

  1. Eine Capability-Schnittstelle entwerfen
  2. expect/actual für Geräteinformationen
  3. Dateisystem und Pfade je Plattform
  4. Plattformimplementierungen injizieren
← Zurück zu Kotlin Multiplatform Academy