Wie rufe ich Daten von Firebase in Android ab?

Ziele des Blogs

Nach dem Lesen dieses Blogs können wir Daten aus der Firebase Realtime Database abrufen. Diese Daten können einfache Datentypen wie Strings oder komplexe Datentypen wie Java-Objekte umfassen.

Die Anforderungen:

Wir müssen ein Android Studio-Projekt und ein Firebase-Projekt bereit haben, um die Firebase Realtime Database verwenden zu können. Erstellen Sie ein neues Android Studio-Projekt (oder verwenden Sie ein vorhandenes Projekt). Dieses Android Studio-Projekt wird für die Arbeit mit der Echtzeitdatenbank verwendet. Führen Sie die folgenden Schritte aus, um das Firebase-Projekt zu erstellen:

1. Gehe zu https://console.firebase.google.com

2. Klicken Sie auf “Projekt hinzufügen” Taste.

3. Geben Sie den Projektnamen ein und akzeptieren Sie die Bedingungen und klicken Sie auf “Fortfahren” Taste.

 

4. Fügen Sie dann Ihrem Projekt eine Android-App hinzu. Es erfordert die Eingabe des Paketnamens der App. Klicken Sie auf Weiter.

5. Laden Sie die Datei google-services.json herunter und verschieben Sie diese Datei an den auf dem Bildschirm angegebenen Speicherort im Android-Projekt in Android Studio.

6. Im nächsten Schritt gäbe es ein kleines Tutorial, um 3 Codezeilen in die build.gradle-Dateien auf Projektebene und App-Ebene einzufügen. Fügen Sie sie entsprechend hinzu.

7. Schließen Sie dann diesen Vorgang zum Hinzufügen der Android-App zum Projekt ab.

8. Klicken Sie dann im linken Menü auf die Option „Datenbank“ und dann auf die Schaltfläche „Datenbank erstellen“.

 

,war

9. Die Einrichtung von Firebase ist abgeschlossen. Fügen Sie nun die Firebase-Bibliothek zur Verwendung der Firebase Realtime Database in der Datei build.gradle auf App-Ebene hinzu. Dies kann durch Hinzufügen der folgenden Zeile erfolgen:

Implementierung 'com.google.firebase:firebase-database:16.0.6'

Code-Implementierung

Bevor Sie die Referenzen abrufen, müssen Sie verstehen, was eine Firebase-Referenz ist. Ein Firebase-Verweis verweist auf einen Speicherort in der Firebase-Datenbank, an dem Daten gespeichert werden. Auch wenn Sie mehrere Referenzen erstellen, nutzen sie alle dieselbe Verbindung, vorausgesetzt, Sie haben beim Erstellen der Referenz aus der Datenbankinstanz denselben Pfad verwendet. Zunächst benötigen wir eine Instanz der Firebase-Datenbank, um sie verwenden zu können. Die Instanz kann durch die folgende Codezeile erstellt werden.

 

private FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

 

Jetzt müssen Verweise auf die Pfade erstellt werden, in denen die Daten in der Datenbank gespeichert sind. Da die Daten in der Firebase-Datenbank im JSON-Format gespeichert sind, sind die Schlüssel des JSON-Objekts die in den Referenzen angegebenen Pfade. Die Referenz auf den Wurzelknoten kann durch die folgende Codezeile erstellt werden:

 

private DatabaseReference mGetReference = mDatabase.getReference();

 

Nachdem Sie die Referenz der Datenbank erhalten haben, muss ein asynchroner Listener an die Datenbankreferenz angehängt werden, der aktiv auf jede Änderung in der Datenbank lauscht. Dieser Listener gibt beim ersten Anhängen zunächst einen Daten-Snapshot der Datenbank zurück. Dann wird der Daten-Snapshot zurückgegeben, wenn eine Änderung an dem Pfad vorgenommen wird, auf den die Datenbankreferenz zeigt. Normalerweise enthält die Datenbank denselben Datentyp, aber nehmen Sie an, dass die Datenbank einige Daten unterschiedlichen Typs enthält. Unten finden Sie den Screenshot der Datenbank mit einigen Dummy-Daten:

 

Um die Datenbank aus dieser Datenbank abzurufen, hängen Sie den ValueEventListener an die Datenbankreferenz an. Der Listener kann mit folgendem Code hinzugefügt werden:

 

mGetReference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.exists()){ HashMap dataMap = (HashMap ) dataSnapshot.getValue(); for (String key: dataMap.keySet()) { Objektdaten = dataMap.get(key); versuchen Sie {HashMap userData = (HashMap ) Daten; User mUser = new User((String) userData.get("name"), (int) (long) userData.get("age")); addTextToView(mUser.getName() + " - " + Integer.toString(mUser.getAge())); }catch (ClassCastException cce){ // Wenn das Objekt nicht in HashMap umgewandelt werden kann, bedeutet dies, dass es vom Typ String ist. try{String mString = String.valueOf(dataMap.get(key)); addTextToView(mString); }catch (ClassCastException cce2){ } } } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });

Nach dem Anhängen des Listeners wird dieser zunächst ausgeführt und gibt zunächst alle Daten in der Datenbank zu diesem Zeitpunkt zurück. Dieser Listener wird später zu dem Zeitpunkt aufgerufen, zu dem irgendeine Änderung in der Datenbank an dem Pfad stattfindet, auf den die Referenz zeigt, an die der Listener angehängt ist.

Zusammenfassung

Nachdem Sie das obige Verfahren befolgt haben, können Sie Daten aus der Firebase Realtime-Datenbank in Android abrufen. Wenn Sie auf Probleme stoßen, können Sie uns gerne unter support@knowband.com erreichen. Werfen Sie einen Blick auf unsere beliebtesten Woocommerce No Code Mobile App-Builder:

 

Wie speichere ich Daten in Firebase in Swift Language (iOS)?

Ziele des Blogs

Nachdem Sie diesen Blog gelesen haben, können wir das Firebase SDK in Ihrem Projekt installieren und Code schreiben, um Daten zusammen mit der Erstellung des Firebase-Projekts in der Firebase-Datenbank zu speichern.

Vorteile der Verwendung der Firebase-Datenbank

Es spielt keine Rolle, ob Sie an einem kleinen Projekt arbeiten oder Ihre Augen auf ein großes gerichtet sind, Sie benötigen eine Datenbank, um all Ihre Informationen zu speichern. Wenn Sie an einem kleinen Projekt arbeiten, können Sie diese Firebase-Datenbank verwenden. Hier ist die Liste der Vorteile der Verwendung der Firebase-Datenbank: 1. Hilft Ihnen, die Daten Ihres Geschäfts mühelos zu verwalten. 2. Wenn sich Daten jederzeit ändern, erhalten alle angeschlossenen Geräte die aktualisierten Daten in ihren Geräten. 3. Die Firebase-Echtzeitdatenbank kann kostenlos verwendet werden. 4. Zeitsparend. 5. Einfach zu bedienende und plattformübergreifende Unterstützung für SDK. 6. Nützlich für Chat-Apps, Push-Benachrichtigungen, Newsfeed usw.

Die Anforderungen:

Wir müssen Swift-Code schreiben, um die Daten in Firebase zu speichern. Dazu müssen wir zuerst das Firebase-Projekt erstellen. Befolgen Sie die unten angegebenen Schritte, um das Firebase-Projekt zu erstellen – 1. Gehen Sie zu https://console.firebase.google.com

2. Klicken Sie auf “Projekt hinzufügen” Taste

 

3. Erstellen Sie dann eine iOS-App und laden Sie die Datei GoogleService-Info.plist herunter. 4. Verschieben Sie dann die Plist-Datei in das Projekt. 5. Öffnen Sie anschließend in Xcode AppDelegate.swift und fügen Sie diesen Code vor der return-Anweisung in application(_:didFinishLaunchingWithOptions:)

FirebaseApp.configure()

6.Klicken Sie dann auf “Datenbank” Option aus dem linken Menü.

 

7. Wählen “Echtzeit-Datenbank“, dort finden Sie die Datenbank-URL, die Sie im Code verwenden können, um die Daten aus der Datenbank zu holen. Im Allgemeinen werden Sie diese URL nicht benötigen, da wir sie verwenden GoogleServices-Info.plist Datei und die Datenbank-URL bereits in dieser Datei verfügbar ist, müssen wir nur die Firebase initialisieren. 8. Die Einrichtung von Firebase ist abgeschlossen. Jetzt müssen Sie das Firebase SDK schnell herunterladen. Dazu müssen Sie die folgenden Pods installieren. 1. Schote ‘Firebase/Kern‘ 2. Schote ‘Firebase/Datenbank‘ Angenommen, wir haben derzeit keine Daten in der Firebase-Datenbank und möchten die folgenden Daten im angegebenen Format in der Datenbank speichern� –

// Die Wurzel des Baums { "movies": [ "movie1": { "name": "Avengers", "addedByUser": "John" }, "movie2": { "name": "Star Wars", " addedByUser": "Jane" }, ] }

Nach erfolgreicher Installation der Pods im Projekt sind wir bereit, den Codierungsteil zu implementieren.


Codeimplementierung Bevor Sie die Referenzen erstellen, müssen Sie verstehen, was eine Firebase-Referenz ist. Eine Firebase-Referenz verweist auf einen Speicherort in Firebase, an dem Daten gespeichert werden. Selbst wenn Sie mehrere Referenzen erstellen, nutzen sie alle dieselbe Verbindung. Zuerst müssen wir eine Referenz der FIRDatabaseReference erstellen. Eine Referenz, die den Stammknoten (Lebensmittelartikel) enthält, kann mit dem folgenden Code erstellt werden:

let ref = Database.database().reference(withPath: "movies")

oder Sie können auch den folgenden Weg verwenden –

let rootRef = Database.database().reference() let ref = rootRef.child("movies")

Dann müssen wir einen Verweis auf die untergeordneten Elemente Milch und Pizza erstellen, damit wir die Daten in diesen Knoten hinzufügen können.

let movieRefAvengers = ref.child("movie1") let movieRefStarWars = ref.child("movie2")

Wir wissen, dass wir das Wörterbuch in diesen Schlüsseln speichern müssen. Dafür erstellen wir zwei Wörterbücher, eines für Milch und eines für Pizza.

let dictMovieRefAvengers: [String: String] = ["name": "Avengers", "addedByUser": "John"] let dictMovieRefStarWars: [String: String] = ["name": "Star Wars", "addedByUser": " Jan"]

Danach können wir die hinzufügen dictMovieRefAvengers und dictMovieRefStarWars in die movieRefAvengers und movieRefStarWars und diese werden als untergeordnete Elemente dieser Referenzen hinzugefügt. Es gibt zwei Methoden zum Speichern von Daten in der Firebase-Datenbank: setValue und updateChildValues. Wenn Sie wissen möchten, wann Ihre Daten übertragen wurden, können Sie einen Vervollständigungsblock hinzufügen. Sowohl setValue als auch updateChildValues ​​verwenden einen optionalen Abschlussblock, der aufgerufen wird, wenn der Schreibvorgang an die Datenbank übertragen wurde. Dieser Listener kann nützlich sein, um zu verfolgen, welche Daten gespeichert wurden und welche Daten noch synchronisiert werden.

 

// Speichern der Werte im movie1-Knoten movieRefAvengers.setValue(dictMovieRefAvengers) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Daten konnten nicht gespeichert werden: \(error).") } else { print("Daten erfolgreich gespeichert!") } } // Speichern der Werte im Pizzaknoten movieRefStarWars.setValue(dictMovieRefStarWars) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Daten konnten nicht werden gespeichert: \(Fehler).") } else { print("Daten erfolgreich gespeichert!") } }

 

Nachdem Sie den oben gezeigten Code ausgeführt haben, erhalten Sie dieselbe Struktur in der Firebase-Datenbank, die bereits gezeigt wird.

Zusammenfassung

Nachdem Sie das obige Verfahren befolgt haben, können Sie die Daten schnell in der Firebase-Datenbank speichern.

Lesen Sie auch diese Artikel: