[JAVA] Einfach zu bedienender Cloud Firestore (Android)

Einführung

Beachten Sie die grundlegende Verwendung von CloudFirestore unter Android. (Einfaches Senden / Empfangen von Daten von der Installation usw.) Die verwendete Sprache ist Java und die Entwicklungsumgebung ist Android Studio. Bitte beachten Sie, dass dies der erste Beitrag ist. Ich denke, es gibt viele Punkte, die schwer zu erkennen sind.

Über Firestore

Firestore ist eine NoSQL-Datenbank. Die Dateistruktur ist wie im Bild gezeigt. Die Sammlung enthält ein Dokument, und die darin enthaltenen Daten werden verwendet. Sie können auch Untersammlungen in Ihrem Dokument erstellen. structure-data.png

Projekt erstellen und vorbereiten

Klicken Sie auf der Startseite von Firebase auf Projekt erstellen und dann auf Projekt hinzufügen. Legen Sie einen Namen Ihrer Wahl fest, Analytics ist aktiviert, wählen Sie ein Konto aus und wählen Sie ein Projekt aus. Erstellt. Da die App diesmal Android ist, wählen Sie Android.

Fügen Sie Firebase zu Android-Apps hinzu

** Schritt 1 App registrieren ** Hier können Sie nur das Android-Paket eingeben. Geben Sie Ihren Spitznamen und ggf. SHA-1 ein. (Diesmal keine Eingabe) ** Schritt 2 Laden Sie die Konfigurationsdatei herunter ** Laden Sie google-services.json herunter Schalten Sie die Anzeigemethode oben links auf Projekt und führen Sie die JSON-Datei in die App ein OK, wenn sich die JSON-Datei am selben Speicherort befindet wie das Bild rechts auf der Site ** Schritt 3 Firebase SDK hinzufügen ** Der auf der Site beschriebene Inhalt wurde dem Build-Gradle hinzugefügt. Zusätzlich zu den auf der Website beschriebenen Inhalten wurde der Gradle auf App-Ebene der folgende Inhalt hinzugefügt.

app


dependencies {
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-firestore:20.0.0'
}

Die Version wird angezeigt, indem Sie die neueste verfügbare Bibliothek unten auf [dieser Site] überprüfen (https://firebase.google.com/docs/android/setup?hl=ja).

** Schritt 4 Führen Sie die App aus und überprüfen Sie die Installation ** Sie können hier überspringen, da es möglicherweise nicht endet. Die Bestätigung ist abgeschlossen, wenn Sie die App ausführen und logcat *** I / FirebaseInitProvider anzeigt: FirebaseApp-Initialisierung erfolgreich ***. ** Schritt 5 Firestore erstellen ** Klicken Sie auf der linken Registerkarte der Site auf Cloud Firestore, um eine Datenbank zu erstellen Wählen Sie dieses Mal für die Regel den Produktionsumgebungsmodus aus. (Dem Testmodus wird der Zugriff verweigert, sofern er nicht 30 Tage lang aktualisiert wird.) Wählen Sie einen geeigneten Ort. Weil die Regeln streng sind, wenn sie so bleiben, wie sie sind Ändern *** schreiben: wenn falsch zu schreiben: wenn wahr *** 53c13ab8b30c6ebcc4556a9541a4f954.png Die Vorbereitung ist abgeschlossen.

Code

Schreiben Sie einen kleinen Code, der zum Senden / Empfangen und für andere verwendet werden kann. Bitte versuchen Sie es, während Sie den Firestore überprüfen.

Angeben von Dokumenten und Sammlungen

Sie kann in der folgenden Anweisung angegeben werden. Wenn das angegebene Dokument / die angegebene Sammlung nicht vorhanden ist, wird sie beim Speichern der Daten erstellt.

DocumentReference mDocRef = FirebaseFirestore.getInstance().document("Sammlungsname/Dokumentname");

Senden

Zunächst werde ich den Code des Übertragungsprozesses vorstellen.

Karte speichern

Map<String, Object> data = new HashMap<>();
       data.put("A","Apfel");
       data.put("B","Mandarine");
       data.put("C","Traube");
        mDocRef.set(data);

Liste speichern

ArrayList<String> group = new ArrayList<>();
        group.add("Apfel");
        group.add("Mandarine");
        group.add("Traube");
        Map<String, Object> data = new HashMap<>();
        data.put("Feldname",group);
        mDocRef.set(data);

Erhalten

Als nächstes werde ich den Code zum Abrufen des Werts von Firebase einführen.

Karte abrufen

mDocRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if (task.isSuccessful()) {
                    DocumentSnapshot document = task.getResult();
                    if (document.exists()) {
                       //Verarbeitung, wenn der Wert erhalten werden kann
                        String save = (String) document.get("Feldname");//
                    } else {
                        //Was tun, wenn der Wert nicht vorhanden ist?
                } else {
                    //Verarbeitung bei fehlgeschlagener Erfassung
                }

            }
        });

Liste abrufen

mDocRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if (task.isSuccessful()) {
                    DocumentSnapshot document = task.getResult();
                    if (document.exists()) {
                       //Verarbeitung, wenn der Wert erhalten werden kann
                       ArrayList<String> group =  (ArrayList<String>) document.get("Feldname");
                    } else {
                       //Was tun, wenn der Wert nicht vorhanden ist?
                    }
                } else {
                    //Verarbeitung bei fehlgeschlagener Werterfassung
                }

            }
        });

Anderer Code, den Sie möglicherweise häufig verwenden

Schreiben Sie als Nächstes den Code, den Sie möglicherweise verwenden.

Die Verarbeitung beim Speichern ist erfolgreich oder schlägt fehl

Beschrieben nach dem Senden von Daten.

mDocRef.set(data).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    ///Die Verarbeitung beim Speichern ist erfolgreich
                } else {
                    ///Die Verarbeitung beim Speichern schlägt fehl
                }
            }
        });

Was tun, wenn sich der Wert ändert?

Wird beim Start ausgeführt und wenn sich der Wert ändert

mDocRef.addSnapshotListener(new EventListener<DocumentSnapshot>() {
                    @Override
                    public void onEvent(@Nullable DocumentSnapshot snapshot,
                                        @Nullable FirebaseFirestoreException e) {

                        if (snapshot != null && snapshot.exists()) {
                            Log.d("TAG", "Current data: " + snapshot.getData());
                            //Was tun, wenn es sich ändert?
                        }
                    }
        });

schließlich

Dies ist das Ende der Einführung in die Verwendung von Firestore. Vielen Dank.

Recommended Posts

Einfach zu bedienender Cloud Firestore (Android)
Einfach zu bedienende array.map (&: Methode)
Die Funktion ist sehr einfach zu bedienen
[Swift] So installieren Sie Firebase ~ So verwenden Sie Realtime Database & Cloud Firestore
Verwenden Sie ViewModel, um Android-Apps grob zu drehen
Verwendung von ExpandableListView in Android Studio
Super einfache Möglichkeit, Enum mit JSP zu verwenden
Verwendung des LOG Java Producer von Alibaba Cloud
Verwendung von Map
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select
Einführung in das Android-Layout
Wie benutzt man Twitter4J
Verwendung von MapStruct
Verwendung von TreeSet
Verwendung von Truth (Assertion Library für Java / Android)
Wie man Identität benutzt
[Android Studio] Ich möchte eine Maven-Bibliothek unter Android verwenden
Wie man Hash benutzt
[Hinweis] Herausforderung bei der Entwicklung einer kommerziellen Andorid-App
Verwendung von Dozer.mapper
Wie benutzt man Gradle?
Verwendung von org.immutables
Verwendung von java.util.stream.Collector
Verwendung von VisualVM
Verwendung von Map
Einfach zu wartender FizzBuzz
So verwenden Sie OpenCV 4 unter Android und zeigen die Kamera live an
Verwenden Sie Java, das in Android Studio enthalten ist, um React Native zu erstellen
Verwendung der Ketten-API
[Java] Verwendung von Map
Verwendung der Warteschlange mit Priorität
[Rails] Verwendung von Enum
Einfach zu erstellende Verarbeitungsbibliothek
Verwenden Sie die serielle Kommunikation unter Android
Verwendung von Java Optional
Verwendung von Ruby return
[Rails] Verwendung von Enum
Verwendung von @Builder (Lombok)
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
Verwendung von Rails Join
[Java] Gründe für die Verwendung von statischen
Rbenv-Befehl zur Verwendung von Ruby
Ruby: Wie man Cookies benutzt
Verwendung von abhängigen :: zerstören
Verwenden Sie nativen Code unter Android
Verwendung von Eclipse Debug_Shell
Verwendung von Apache POI
[Rails] Verwendung der Validierung