Google utilise la technologie IA pour traduire le contenu dans votre langue préférée. Les traductions générées par IA peuvent contenir des erreurs.
Couches architecturales et dénomination des API
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Le moteur de rendu A2UI de Jetpack Compose définit une architecture en couches qui vous permet de choisir la couche appropriée sur laquelle créer votre application. En plus de la stratification sémantique, un schéma de dénomination clair communique l'intention de l'API et contrôle la visibilité pour éviter de polluer votre classpath avec des types internes inutiles.
Les API sont organisées en deux catégories principales en fonction du cas d'utilisation et de la visibilité :
- API pour les développeurs d'applications et de composants : les API publiques destinées à un usage direct ont des noms clairs et concis avec le préfixe
A2ui (ou des préfixes de système de conception et de test tels que MaterialA2ui et A2uiTest). Par exemple, A2uiCatalog, A2uiComponent et A2uiException.
- API pour les intégrateurs de frameworks d'UI : les API utilisées par les bibliothèques faisant le pont entre la couche de données principale et les frameworks d'UI ont des noms descriptifs préfixés par
A2uiCore. Ces API ne sont pas destinées à être référencées directement par les applications et restent masquées dans le code d'application standard.
Il peut par exemple s'agir de A2uiCoreCatalog, A2uiCoreDataModel et A2uiCoreSurfaceModel.
Étant donné que la couche de données principale contient des types des deux catégories, elle est distribuée dans deux artefacts distincts : androidx.a2ui:a2ui-model (pour les développeurs d'applications) et androidx.a2ui:a2ui-engine (pour les intégrateurs de frameworks). Cette structure permet aux bibliothèques de framework de dépendre de a2ui-engine en tant que dépendance d'implémentation, ce qui empêche les types A2uiCore de polluer les chemins de classe d'application publics.
Catégorie 1 : API pour les développeurs d'applications
Les tableaux suivants listent les API publiques destinées aux développeurs d'applications et de composants.
androidx.a2ui:a2ui-model
| Type |
Description |
A2uiSurfaceModel |
Interface en lecture seule représentant une surface d'UI |
A2uiMessageProcessor |
Type de point d'entrée pour le traitement des messages entrants |
A2uiMessageParser |
Interface d'analyseur pour les messages de protocole |
A2uiServerToClientMessage |
Charge utile des messages entrants |
A2uiSchema |
Types utilisés pour définir les schémas de propriétés des composants |
A2uiException |
Exceptions générées et gérées dans les différentes couches |
A2uiUserAction |
Charge utile d'action créée à la suite d'interactions utilisateur |
A2uiClientToServerMessage |
Type de base pour toutes les charges utiles des messages sortants |
A2uiActionInterceptor |
Intercepteur d'action utilisateur au niveau de la couche de données |
A2uiFunctionDefinition |
Définition d'une fonction de client local |
A2uiDataPath |
Représentation du chemin du pointeur JSON |
androidx.a2ui.compose:compose-runtime
| Type |
Description |
a2uiRuntimeMessageProcessor |
Constructeur d'extension pour le processeur de messages |
A2uiMessageParser |
Constructeur d'extension pour l'analyseur de messages |
A2uiComponentState |
Interface représentant l'état du composant réactif |
A2uiComponentModel |
Modèle de données pour un composant résolu |
A2uiComponentProperties |
Conteneur de propriété stable optimisant les recompositions |
A2uiProperty |
Définition de propriété de composant fortement typée |
A2uiComponentScope |
Portée du récepteur pour évaluer les liaisons et les composants enfants |
A2uiComponentReference |
Pointeur pour résoudre les composants enfants imbriqués |
androidx.a2ui.compose:compose-ui
| Type |
Description |
A2uiCatalog |
Constructeur d'interface et d'extension pour définir des catalogues |
A2uiComponent |
Interface permettant de définir les implémentations des composants Compose |
A2uiComponent (composable) |
Fonction composable qui émet l'UI d'un composant |
androidx.compose.material3:material3-a2ui
| Type |
Description |
A2uiSurface |
Point d'entrée composable qui affiche une surface |
materialA2uiBasicCatalogV1 |
Fonction de fabrique permettant de créer une instance du catalogue de base qui utilise des composants Material 3 |
MaterialA2uiBasicCatalogV1Defaults |
Implémentations Material 3 par défaut du catalogue de base |
androidx.a2ui.compose:compose-ui-testing
| Type |
Description |
A2uiTestController |
Contrôleur de test pour orchestrer l'exécution des tests |
A2uiComponentStub |
Implémentation de composant stubbé ou remplacé |
A2uiTestSurface |
Fonction composable qui affiche une surface de test |
Catégorie 2 : API d'intégration de framework
Le tableau suivant répertorie les API destinées aux intégrateurs de frameworks.
androidx.a2ui:a2ui-engine
| Type |
Description |
A2uiCoreCatalog |
Contient un ensemble d'objets A2uiCoreComponentDefinition |
A2uiCoreCatalogSerializer |
Sérialiseur pour les catalogues A2UI |
A2uiCoreComponentDefinition |
Contient des métadonnées définissant un composant |
A2uiCoreSurfaceModel |
Implémente A2uiSurfaceModel, expose les registres |
A2uiCoreSurfaceGroupModel |
Implémente A2uiSurfaceGroupModel |
A2uiCoreMessageProcessor |
Implémente A2uiMessageProcessor |
A2uiCoreDataModel |
Support du modèle de données réactif |
A2uiCoreComponentRegistry |
Registre de composants |
A2uiCoreValueResolver |
Accesseur de données à utiliser dans l'évaluateur dynamique |
A2uiCoreSchemaValidator |
Validateur de schéma de composant |
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2026/09/24 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/09/24 (UTC)."],[],[]]