Tutorials  /  Databases

Vergleich von Android LiveData und RxJava: Vorteile und Anwendungsbeispiele

Ccentron Redaktion · September 2024 ·3 Min. Lesezeit ·Databases, Tutorial

Einleitung

In unserem heutigen Blogbeitrag tauchen wir in die Welt von Android LiveData ein. Diese lebenszyklusbewusste Architekturkomponente ermöglicht reaktive Datenaktualisierungen in Android-Anwendungen. Wir vergleichen LiveData mit RxJava, erläutern die Vorteile der Verwendung von MutableLiveData und bieten ein praktisches Beispielprojekt für effizientes Datenmanagement in einem RecyclerView.

DB

Passende Infrastruktur bei centron

Datenbanken im Betrieb wollen gepflegt werden: centron übernimmt auf Wunsch Updates, Backups und Monitoring – von der einzelnen Instanz bis zum Cluster. Managed Cluster ansehen →

Was ist Android LiveData?

LiveData ist ein wesentlicher Bestandteil von Android-Architekturmustern. Es fungiert als Datenspeicher für primitive und Sammlungstypen und ermöglicht die Beobachtung von Datenänderungen in der Ansicht. LiveData ist lebenszyklusbewusst, was bedeutet, dass die Ansicht nur aktualisiert, wenn sie aktiv ist. Dies erleichtert die Kommunikation zwischen ViewModel und Ansicht und reduziert die Anzahl der notwendigen Datenaufrufe und Speicherorte.

LiveData vs. RxJava

Im Vergleich zu RxJava ist Android LiveData ebenfalls reaktiv, aber lebenszyklusbewusst. Diese Eigenschaft verhindert, dass Daten im Hintergrund aktualisieren, was dazu beiträgt, Ausnahmen wie IllegalStateException zu vermeiden. Um Datenänderungen zu beobachten, wird die Methode `onChanged()` in der Aktivität überschrieben, die bei jeder Änderung der LiveData auslösen.

MutableLiveData

MutableLiveData erweitert die LiveData-Klasse und bietet die Methoden `postValue()` und `setValue()`, die eine öffentliche Aktualisierung der Daten ermöglichen. Die MutableLiveData findet häufig Verwendung, um Daten in einem RecyclerView zu aktualisieren. In unserem Beispielprojekt fügen wir Zeilen aus einer SQLite-Datenbank zu einem RecyclerView hinzu oder löschen sie. MutableLiveData aktualisiert die Einträge des RecyclerView, sobald sich die LiveData ändert. Mithilfe von DiffUtil wird die minimale Anzahl von RecyclerView-Zeilen aktualisiert, indem die alte und die neue ArrayList verglichen werden.

Beispielprojekt: LiveData in Aktion

Um Android LiveData in Ihr Projekt zu integrieren, fügen Sie die folgenden Abhängigkeiten in Ihre `build.gradle`-Datei ein:

Code
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'android.arch.lifecycle:extensions:1.1.1'

Im Code der MainActivity setzt ein Beobachter auf der LiveData:

Code
mFavViewModel.getFavs().observe(this, favsObserver);

Der anonyme Beobachter `favsObserver` enthält die Methode `onChanged()`, die die neuesten Daten bereitstellt und den RecyclerView aktualisiert.

Fazit

Mit diesem Leitfaden haben Sie nun ein besseres Verständnis dafür, wie Sie LiveData in Ihrer Android-Anwendung verwenden können, um reaktive und effiziente Datenaktualisierungen zu erreichen. Probieren Sie es aus und optimieren Sie Ihr Datenmanagement in Android-Projekten.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Databases
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren