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éthode setOnClickListener() 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 package android.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

Ateliers de programmation

Articles de blog