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.
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ściandroid:text
, których użyto w przykładach na tej stronie, są dostępne w pakiecieandroid.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
Polecane dla Ciebie
- Uwaga: tekst linku wyświetla się, gdy JavaScript jest wyłączony
- Adaptery wiązań {:#binding-adapters}
- Układy i wyrażenia wiążące
- Wygenerowane klasy powiązań {: #binding-classes}