[JAVA] Firebase-Realtime-Datenbank für Android, die mit Kopie verwendet werden kann

Einführung

Ich denke, die meisten Leute, die mit Firebase in Kontakt kommen, möchten "** Realtime Database **" verwenden. (Schurke)

Die einzigen Artikel, die nach der Recherche herauskommen, sind jedoch ~~ off-target ~~. Ich denke, dass es notwendig sein wird, bis zu einem gewissen Grad zu überprüfen, um es richtig zu verwenden. Natürlich ist die Überprüfung sehr wichtig, und ich verstehe, dass es der wahre Nervenkitzel ist.

Es gibt jedoch Leute (natürlich auch mich), die wahrscheinlich das innere Biest verärgern und sagen "** Ich möchte es vorerst benutzen! **".

Für diese Leute werde ich den Code zusammenstellen, damit Sie so viel wie möglich kopieren und einfügen können.

** "Ich verstehe das auch nicht" "Kopieren und Einfügen ist s (weggelassen" zum Lernen ... usw. Es wird für Leute sehr peinlich sein, also sichern Sie bitte Ihren Browser. **

Datenspeicher

Einzelne Daten speichern

Ich glaube nicht, dass ich es zuerst benutzen werde, Wenn Sie beispielsweise nur die Zeichenfolge "** Hello World! **" speichern möchten, schreiben Sie sie wie folgt.

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference(); 
myRef.setValue("Hello World !"); 

Untergeordnete Daten speichern

Wenn Sie beispielsweise die Zeichenfolge "** apple " in den gespeicherten Daten " Items **" speichern möchten, schreiben Sie sie wie folgt.

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference("Items");
myRef.setValue("apple"); 

Dies kann beliebig oft mit . Child ** aufgenommen werden. Wenn Sie beispielsweise die Zeichenfolge "" sweet "" in der Zeichenfolge " apple " in den gespeicherten Daten " Items **" speichern möchten, schreiben Sie sie wie folgt.

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference("Items").child("apple"); 
myRef.setValue("Süss"); 

Mit anderen Worten, Sie können dies auch tun.

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference("Items").child("1").child("2").child("3").child("4").child("5").child("6").child("7").child("8").child("9").child("10");
myRef.setValue("Gut gemacht"); 

Firebase ist so gut, dass es auch erstellt, wenn es keine übergeordneten Daten hat.

Mit benutzerdefiniertem Modell speichern

Sie können die von Ihrem eigenen Modell gespeicherten Daten unverändert speichern. Es ist sehr einfach zu schreiben ** (oder besser gesagt, wie es ist), sagen Sie es einfach auf die gleiche Weise.

Item item=new Item();
item.setName("apple");
item.setTaste("Süss");
item.setPrice(500);

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference("Items").child("apple"); 
myRef.setValue(item); 

Dadurch werden 3 Daten in "** apple " von " Items **" gespeichert.

Daten bekommen

"** Der wahre Nervenkitzel der Echtzeitdatenbank ist, dass sie in Echtzeit synchronisiert wird! **" ~~ Jeder will das machen, also machen sie Firebase. ~~ seien Sie versichert. Da Firebase auch unter dieser Voraussetzung erstellt wird, können umgekehrt keine Daten erfasst werden, ohne diese zu verwenden.

Grundlegende Typdaten abrufen

Wenn Sie beispielsweise die Daten abrufen möchten, wenn die Daten in den übergeordneten Daten "** Elemente **" geändert werden, schreiben Sie wie folgt.


FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference userRef = database.getReference("Items");
        userRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                //Holen Sie sich eine Instanz
                for (DataSnapshot data : dataSnapshot.getChildren()) {
                    Log.d("",data.getValue().toString);
                }
            }

            @Override
            public void onCancelled(DatabaseError error) {
                //Daten konnten nicht abgerufen werden
            }
        });

Wenn "** apple ", " pen " und " gorilla " in " Items **" gespeichert sind, ** Größe von ** dataSnapshot.getChildren () ** ** wird 3 apple pen gorilla Sollte protokolliert werden.

Erhalten Sie benutzerdefinierte Modelldaten

Wenn das oben genannte benutzerdefinierte Modell beispielsweise gespeichert wurde, schreiben Sie es wie folgt.


FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference userRef = database.getReference("Items");
        userRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                //Holen Sie sich eine Instanz
                for (DataSnapshot data : dataSnapshot.getChildren()) {
           Item item=data.getValue(Item.class);
                }
            }

            @Override
            public void onCancelled(DatabaseError error) {
                //Daten konnten nicht abgerufen werden
            }
        });

Recommended Posts

Firebase-Realtime-Datenbank für Android, die mit Kopie verwendet werden kann
Organisieren Sie Methoden, die mit StringUtils verwendet werden können
Einfache Implementierung eines Spielautomaten, die mit Kopie verwendet werden kann
Vier Reihen mit Schwerkraft, die auf der Konsole gespielt werden können
Statisches Analysetool, das mit GitHub verwendet werden kann [Java-Version]
SwiftUI-Ansicht, die in Kombination mit anderen Frameworks verwendet werden kann
[Rails] "Pry-Rails", die beim Speichern mit der create-Methode verwendet werden können
[Android Studio] Beschreibung, die kontinuierlich in die SQLite-Datenbank eingegeben werden kann [Java]
Tools zur Leistungsanalyse und Fehlerdiagnose, die mit OpenJDK verwendet werden können
Ruby-Array-Methoden, die mit Rails verwendet werden können (außer jedem)
[Swift] Farbwähler, der zum Kopieren und Einfügen verwendet werden kann (Palette, mit der Sie Farben frei auswählen können)
Sie können es mit Kopie tun! Aspektorientierte Programmierung (Android)
Bereich, in dem Variablen mit Ruby verwendet werden können [Scope]
Über die Sache, dass hidden_field wahnsinnig benutzt werden kann
Praktische Tastenkombinationen für Eclipse
Ruby on Rails 5 - Kurzanleitung zum Lernen, die im Feld Zusammenfassung verwendet werden kann
Syntax- und Ausnahmebedingungen, die beim Vergleich mit null in Java verwendet werden können
Lernen Sie Ruby mit AtCoder Anfänger Auswahl [Einige Summen] Erhöhen Sie die Methoden, die verwendet werden können
Erstellen Sie eine Umgebung, in der pip3 mit CentOS7 + Python3 verwendet werden kann
Zusammenfassung von ORM "uroboroSQL", das in Enterprise Java verwendet werden kann
Kraftfertigkeiten, die jederzeit schnell eingesetzt werden können - Reflexion
Zusammenfassung der JDKs, die mit Homebrew installiert werden können (Stand November 2019)
Ereignisbehandlung mit RxBus unter Android
Eingabe / Ausgabe von Java-Dateien, die über den historischen Hintergrund verwendet werden können
Stellen Sie die Zugriffslast ein, die mit JMeter grafisch geändert werden kann (Teil 1).
Zusammenfassung der Bibliotheken, die in der jüngsten Android-Entwicklung (2019/11) häufig verwendet zu werden scheinen
Beachten Sie, dass VS Code + JUnit 5 unter Windows 10 verwendet werden kann
[ERROR-Meldungsanzeige] Einfache Version, die jederzeit mit der Schienen-Teilvorlage verwendet werden kann
Grundeinstellungen bis S2Dao verwendet werden kann
Objektorientiert, das von Feen verstanden werden kann
Technologie-Auszug, mit dem EC-Sites in Java-Schulungen erstellt werden können
Ich habe einen THETA API-Client erstellt, der für die Plug-Entwicklung verwendet werden kann
Überprüfen Sie mit Java / Kotlin, ob Dateien unter Windows nicht in die Benutzerkontensteuerung geschrieben werden können