Kotlin Multiplatform Academy · Leçon

expect/actual pour les informations de l’appareil

Renvoyez la version de l’OS et le modèle pour chaque plateforme.

Leçon 2 sur 413 étapes

expect/actual pour les informations de l’appareil est une leçon Kotlin Multiplatform Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Multiplatform Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

De l’interface à expect

Parfois, vous pouvez vous passer d’une interface et utiliser directement expect/actual. Cela déclare une fois les informations de l’appareil dans commonMain et les implémente pour chaque plateforme.

Déclarer la classe expect

Dans commonMain, écrivez une classe expect contenant les informations nécessaires sur l’appareil. Il n’y a pas encore de corps, seulement la forme que les deux plateformes doivent respecter.

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

L’actual Android

Dans androidMain, l’élément actual lit Build.MODEL et la version du système pour renseigner les vraies valeurs Android au moment de l’exécution.

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

L’actual iOS

Dans iosMain, l’élément actual utilise UIDevice pour fournir le nom du modèle d’Apple et la version actuelle d’iOS.

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

Les signatures doivent correspondre

Chaque propriété de chaque élément actual doit correspondre à l’élément expect par son nom et son type. Une seule différence suffit pour que le compilateur refuse de relier les cibles.

L’utiliser depuis le code partagé

Le code commun crée DeviceInfo() et lit ses propriétés comme du Kotlin ordinaire. L’élément actual correct est relié à la compilation pour chaque cible.

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

Android obtient les valeurs de Build

Lors de la compilation de l’application Android, l’élément actual de androidMain est relié, et model renvoie donc le vrai nom du matériel depuis la classe Build.

iOS obtient les valeurs de UIDevice

Le même appel dans le framework iOS renvoie les valeurs d’Apple, car c’est l’élément actual de iosMain qui a été compilé pour cette cible.

Les imports restent dans les ensembles de sources

Build reste dans androidMain et UIDevice dans iosMain. CommonMain n’importe jamais de type de plateforme, ce qui lui permet précisément d’être partagé.

expect/actual ou interface

Une interface vous oblige à injecter une implémentation. expect/actual établit automatiquement la liaison à la compilation, de sorte que les appelants se contentent de construire la classe.

Choisir l’outil le plus simple

Pour une information de plateforme unique et sans état, expect/actual est le choix le plus léger. Préférez une interface si vous souhaitez également remplacer librement les simulations.

Vérification rapide

Réfléchissez à la manière dont les bonnes valeurs de l’appareil parviennent à chaque application.

Récapitulatif

Vous avez déclaré un expect DeviceInfo dans commonMain et fourni des éléments actual pour Android et iOS, avec des signatures correspondantes afin que chaque application renvoie ses propres valeurs. 🎉

Gratuit pour commencer

Apprends Kotlin avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « expect/actual pour les informations de l’appareil » est-elle gratuite ?

Oui — le texte complet de « expect/actual pour les informations de l’appareil » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Multiplatform Academy, passe à CoddyKit PRO. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « expect/actual pour les informations de l’appareil » ?

Renvoyez la version de l’OS et le modèle pour chaque plateforme. Tu pratiques Kotlin Multiplatform Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Multiplatform Academy ?

Aucune expérience préalable n'est requise. Kotlin Multiplatform Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « expect/actual pour les informations de l’appareil » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Multiplatform Academy ?

Oui. Chaque leçon Kotlin Multiplatform Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Concevoir une interface de capacités
  2. expect/actual pour les informations de l’appareil
  3. Système de fichiers et chemins par plateforme
  4. Injecter les implémentations de plateforme
← Retour à Kotlin Multiplatform Academy