Biblioteka wiązań danych Zawiera Android Jetpack.

Biblioteka wiązań danych to biblioteka pomocnicza, która umożliwia powiązanie interfejsu użytkownika komponentów w układach do źródeł danych w aplikacji za pomocą funkcji deklaratywnej w sposób automatyczny, a nie automatycznie.

Układy są często definiowane w działaniach z kodem, który wywołuje platformę UI . Na przykład poniższy kod wywołuje findViewById(), aby znaleźć widżet TextView i powiązać go z właściwością userName sekcji Zmienna viewModel:

Kotlin

findViewById<TextView>(R.id.sample_text).apply {
    text = viewModel.userName
}

Java

TextView textView = findViewById(R.id.sample_text);
textView.setText(viewModel.getUserName());

Z przykładu poniżej dowiesz się, jak przypisać tekst za pomocą biblioteki wiązań danych bezpośrednio w pliku układu. Dzięki temu nie trzeba wywoływać żadnego z w kodzie Java pokazanym powyżej. Zwróć uwagę na użycie w projekcie składni @{}. wyrażenie:

<TextView
    android:text="@{viewmodel.userName}" />

Powiązanie komponentów w pliku układu pozwala usunąć wiele wywołań platformy UI co sprawia, że są one prostsze i łatwiejsze w obsłudze. Może to też spowodować poprawia wydajność aplikacji i pomaga zapobiegać wyciekom pamięci oraz wskaźnikowi null wyjątki.

Korzystanie z biblioteki wiązań danych

Z tych stron dowiesz się, jak korzystać z biblioteki powiązań danych Aplikacje na Androida.

Pierwsze kroki
Dowiedz się, jak przygotować środowisko programistyczne do pracy z danymi Biblioteka powiązań, w tym obsługa kodu wiązania danych w Android Studio.

Układy i wyrażenia wiążące

Język wyrażeń umożliwia pisanie wyrażeń łączących do widoków w układzie. Biblioteka wiązań danych automatycznie generuje klasy wymagane do powiązania widoków w układzie z Twoimi danymi obiektów. Biblioteka udostępnia takie funkcje, jak importowanie, zmienne , których możesz używać w układach.

Te funkcje z biblioteki płynnie współistnieją z dotychczasowymi układami. Na przykład zmienne powiązania, które można stosować w wyrażeniach, są zdefiniowane wewnątrz elementu data, który jest równorzędny z elementem głównym układu interfejsu. Oba elementy są umieszczone w tagu layout jak na tym przykładzie przykład:

<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>

Praca z obserwowalnymi obiektami danych
Biblioteka wiązań danych udostępnia klasy i metody ułatwiające obserwację danych . Nie musisz się przejmować odświeżaniem interfejsu, gdy podstawowych zmian w źródle danych. Możesz dopasować zmienne lub elementy które są zauważalne. W bibliotece możesz tworzyć obiekty, pola które są dostępne do obserwacji.
Wygenerowane klasy powiązań
Biblioteka wiązań danych generuje klasy powiązań, które umożliwiają dostęp do zmiennych i widoków układu. Z tej strony dowiesz się, jak korzystać z tej usługi i je dostosowywać z wygenerowanymi klasami powiązań.
Adaptery do wiązań
Każde wyrażenie układu zawiera adapter wiązania, który sprawia, że wywołań platformy wymaganych do ustawienia odpowiednich właściwości lub detektorów. Dla: na przykład adapter wiązania może wywoływać metodę setText() , by ustawić właściwość tekstową, lub wywołaj metodę setOnClickListener() i dodaj detektor zdarzenia kliknięcia. Najczęściej używane przejściówki, takie jak dla właściwości android:text, których użyto w przykładach na tej stronie, są dostępne w pakiecie android.databinding.adapters. Listę typowych adapterów powiązań znajdziesz w artykule przejściówki. Możesz również tworzyć adaptery niestandardowe, jak pokazano w tym przykładzie:
.

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;
}
Przypisywanie widoków układu do komponentów architektury
Biblioteka pomocy Androida zawiera architekturę Komponenty, które mogą służyć do projektować trwałe, łatwe do przetestowania i łatwe w utrzymaniu aplikacje. Za pomocą architektury komponenty z biblioteką Data Binding, które pozwalają jeszcze bardziej uprościć programowanie; interfejsu użytkownika.
Dwukierunkowe wiązanie danych
Biblioteka wiązań danych obsługuje dwukierunkowe wiązania danych. W przypadku argumentu ten typ powiązania umożliwia otrzymywanie zmian danych w usłudze i jednocześnie nasłuchiwać aktualizacji tej usługi przez użytkowników.

Dodatkowe materiały

Aby dowiedzieć się więcej o wiązaniu danych, zapoznaj się z tymi artykułami z dodatkowymi zasobami.

Próbki

Ćwiczenia z programowania

Posty na blogu

. .