Ausblick

10 MinutenEinordnen, was KMP darüber hinaus kann

expect und actual

Gemeinsamer Code deklariert, die Plattformen liefern die Umsetzung (Beispiel aus dem Wizard-Projekt, Tag kmp-00):

// commonMain
expect fun getPlatform(): Platform

// androidMain
actual fun getPlatform(): Platform = AndroidPlatform()

// iosMain
actual fun getPlatform(): Platform = IOSPlatform()

Ressourcen

Bilder, Icons und Texte liegen in shared/src/commonMain/composeResources/ und werden über die generierte Klasse Res angesprochen:

Image(painterResource(Res.drawable.compose_multiplatform), null)

Bibliotheken

Vor dem Einbinden prüfen: Gibt es die Bibliothek für KMP?

  • Ktor, kotlinx.serialization, Navigation 3, ViewModel: ja (haben wir benutzt)
  • Room und DataStore: ja
  • Retrofit, Gson: nein, nur Android bzw. JVM

Übungen

  • Koordinaten in der Städteliste auf zwei Nachkommastellen runden
  • Dynamic Color unter Android mit expect/actual
  • Zurück-Pfeil in der TopAppBar als Ressource in composeResources
  • Stadtsuche, Vorhersage, Favoriten aus dem Android-Teil umsetzen