Cette terminologie et ces concepts sont utilisés tout au long de cette section.
CarAppServiceCarAppServiceest une classeServiceabstraite que votre application doit implémenter et exporter pour être découverte et gérée par l'hôte. L'CarAppServicede votre application utilisecreateHostValidatorpour valider qu'une connexion hôte peut être approuvée, puis utiliseonCreateSessionpour fournir des instancesSessionpour chaque connexion.- Hôte
L'hôte est le composant de backend qui implémente les fonctionnalités offertes par les API de la bibliothèque afin que votre application puisse s'exécuter dans la voiture. L'hôte fournit une gamme de services, allant de la découverte de votre application et de la gestion de son cycle de vie à la conversion de vos modèles en vues et à la notification des interactions utilisateur à votre application.
Sur les appareils mobiles, cet hôte est implémenté par Android Auto. Sur Android Automotive OS, cet hôte est installé en tant qu'application système.
- Modèles et modèles
L'interface utilisateur est représentée par un graphique d'objets de modèle que vous pouvez organiser de différentes manières, selon le modèle auquel ils appartiennent. Les modèles sont un sous-ensemble des modèles qui servent de racine dans les graphiques.
Les modèles incluent les informations à afficher à l'utilisateur sous forme de texte et d'images, ainsi que des attributs permettant de configurer l'apparence visuelle de ces informations. Par exemple, les couleurs du texte ou la taille des images.
L'hôte convertit les modèles en vues qui respectent les normes de distraction du conducteur et qui traitent des détails tels que la variété des facteurs d'écran de voiture et des modalités d'entrée.
ScreenScreenest une classe fournie par la bibliothèque que les applications implémentent pour gérer l'interface utilisateur visible par l'utilisateur.Un
Screena un cycle de vie et est utilisé par l'application pour envoyer le modèle à afficher lorsque l'écran est visible. Les instancesScreenpeuvent également être envoyées et retirées d'une pileScreenpour confirmer qu'elles respectent les restrictions de flux de modèle.SessionSessionest une classe abstraite que votre application doit implémenter et renvoyer à l'aide deCarAppService.onCreateSession. UnSessionsert de point d'entrée pour afficher des informations sur l'écran de la voiture.Sessionpossède un cycle de vie qui indique l'état actuel de votre application sur l'écran de la voiture, par exemple lorsqu'elle est visible ou masquée.Lorsqu'un
Sessionest démarré, par exemple lorsque l'application est lancée pour la première fois, l'hôte utilise la méthodeonCreateScreenpour demander quelScreeninitial afficher.- Restrictions concernant les modèles
Différents modèles appliquent des restrictions au contenu de leurs modèles. Par exemple, les modèles de liste imposent des limites sur le nombre d'éléments qui peuvent être présentés à l'utilisateur.
Les modèles sont également soumis à des restrictions concernant la manière dont ils peuvent être connectés pour former le flux d'une tâche. Par exemple, une application peut envoyer jusqu'à cinq modèles à la pile d'écrans. Pour en savoir plus, consultez Restrictions concernant les modèles.