Bibliothèque Data Binding Inclus dans Android Jetpack.
La bibliothèque Data Binding est une bibliothèque Support qui vous permet de lier une UI les composants de vos mises en page vers les sources de données de votre application à l'aide d'une méthode plutôt que de manière programmatique.
Les mises en page sont souvent définies dans des activités avec du code qui appelle le framework d'UI
méthodes. Par exemple, le code ci-dessous appelle findViewById()
pour trouver un widget TextView
et le lier à la propriété userName
du
Variable viewModel
:
Kotlin
findViewById<TextView>(R.id.sample_text).apply { text = viewModel.userName }
Java
TextView textView = findViewById(R.id.sample_text); textView.setText(viewModel.getUserName());
L'exemple suivant montre comment utiliser la bibliothèque Data Binding pour attribuer du texte
directement dans le fichier de mise en page. Il n'est donc plus nécessaire d'appeler
le code Java présenté ci-dessus. Notez l'utilisation de la syntaxe @{}
dans l'attribution.
expression:
<TextView
android:text="@{viewmodel.userName}" />
La liaison de composants dans le fichier de mise en page vous permet de supprimer de nombreux appels de framework d'UI dans vos activités, ce qui les rend plus simples et plus faciles à gérer. Cela peut également améliorer les performances de votre application, et éviter les fuites de mémoire et le pointeur nul des exceptions.
Utiliser la bibliothèque Data Binding
Utilisez les pages suivantes pour apprendre à utiliser la bibliothèque Data Binding dans votre Applications Android.
- Commencer
- Découvrez comment préparer votre environnement de développement à utiliser les données. Bibliothèque de liaisons, y compris la prise en charge du code de liaison de données dans Android Studio.
Dispositions et expressions de liaison
Le langage d'expression vous permet d'écrire des expressions qui connectent aux vues de la mise en page. La bibliothèque Data Binding génère les classes requises pour lier les vues de la mise en page à vos données ; d'objets. Elle fournit des fonctionnalités telles que des importations, des variables et que vous pouvez utiliser dans vos mises en page.
Ces fonctionnalités de la bibliothèque coexistent parfaitement avec vos mises en page existantes.
Par exemple, les variables de liaison pouvant être utilisées dans des expressions sont définies
dans un élément data
, frère de l'élément racine de la mise en page d'interface utilisateur.
Les deux éléments sont encapsulés dans une balise layout
, comme illustré ci-dessous.
Exemple:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewmodel"
type="com.myapp.data.ViewModel" />
</data>
<ConstraintLayout... /> <!-- UI layout's root element -->
</layout>
- Utiliser des objets de données observables
- La bibliothèque Data Binding fournit des classes et des méthodes pour observer facilement les données des modifications. Vous n'avez pas à vous soucier d'actualiser l'interface utilisateur les modifications sous-jacentes des sources de données. Vous pouvez faire en sorte que vos variables les propriétés observables. La bibliothèque vous permet de créer des objets, des champs ou et des collections observables.
- Classes de liaison générées
- La bibliothèque Data Binding génère des classes de liaison permettant d'accéder aux variables et vues de la mise en page. Cette page vous explique comment utiliser et personnaliser et les classes de liaison générées.
- Adaptateurs de liaison
- Pour chaque expression de mise en page, un adaptateur de liaison rend la classe
de framework requis pour définir les propriétés ou les écouteurs correspondants. Pour
Par exemple, l'adaptateur de liaison peut appeler la méthode
setText()
. pour définir la propriété de texte ou appeler la méthodesetOnClickListener()
pour ajouter une à l'événement de clic. Les adaptateurs de liaison les plus courants, tels que pour la propriétéandroid:text
utilisée dans les exemples de cette page, sont disponibles dans le packageandroid.databinding.adapters
. Pour obtenir la liste des adaptateurs de liaison courants, consultez adaptateurs. Vous pouvez également créer des adaptateurs personnalisés, comme illustré dans l'exemple suivant:
Kotlin
@BindingAdapter("app:goneUnless") fun goneUnless(view: View, visible: Boolean) { view.visibility = if (visible) View.VISIBLE else View.GONE }
Java
@BindingAdapter("app:goneUnless") public static void goneUnless(View view, Boolean visible) { view.visibility = visible ? View.VISIBLE : View.GONE; }
- Lier des vues de mise en page aux composants d'architecture
- La bibliothèque Android Support intègre le module Architecture Composants, que vous pouvez utiliser pour concevoir des applications robustes, testables et faciles à gérer. Vous pouvez utiliser le module Composants dotés de la bibliothèque Data Binding pour simplifier davantage le développement de votre UI.
- Liaison de données bidirectionnelle
- La bibliothèque Data Binding prend en charge la liaison de données bidirectionnelle. La notation utilisée pour ce type de liaison permet de recevoir les modifications de données d'une propriété et écouter les mises à jour utilisateur de cette propriété en même temps.
Ressources supplémentaires
Pour en savoir plus sur la liaison de données, consultez des ressources supplémentaires.
Exemples
- <ph type="x-smartling-placeholder"></ph> Exemples de la bibliothèque de liaison de données Android
Ateliers de programmation
- <ph type="x-smartling-placeholder"></ph> Atelier de programmation sur la liaison de données Android
Articles de blog
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- Adaptateurs de liaison {:#binding-adapters}
- Dispositions et expressions de liaison
- Classes de liaison générées {: #binding-classes}