Looking for firebase-database Keywords? Try Ask4Keywords

firebase-databaseErste Schritte mit der Firebase-Datenbank


Bemerkungen

Dieser Abschnitt bietet einen Überblick über die Firebase-Datenbank und warum ein Entwickler sie verwenden möchte.

Es sollte auch alle großen Themen in der Firebase-Datenbank erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für die Firebase-Datenbank neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.

Versionen

Plattform-SDK Ausführung Veröffentlichungsdatum
Firebase JavaScript SDK 3.7.0 2017-03-01
Firebase C ++ SDK 3.0.0 2107-02-27
Firebase Unity SDK 3.0.0 2107-02-27
Firebase iOS SDK 3.14.0 2017-02-23
Firebase Android SDK 10.2 2017-02-15
Firebase Admin Node.js SDK 4.1.1 2017-02-14
Firebase Admin Java SDK 4.1.2 2017-02-14

Fügen Sie Firebase zu Ihrem Android-Projekt hinzu

Hier die Schritte, die zum Erstellen eines Firebase-Projekts und zum Verbinden mit einer Android-App erforderlich sind.

Fügen Sie Firebase Ihrer App hinzu

  1. Erstellen Sie ein Firebase-Projekt in der Firebase-Konsole und klicken Sie auf Neues Projekt erstellen .

  2. Klicken Sie auf Firebase zu Ihrer Android-App hinzufügen und folgen Sie den Installationsschritten.

  3. Wenn Sie dazu aufgefordert werden, geben Sie den Paketnamen Ihrer App ein .
    Es ist wichtig, den Paketnamen einzugeben, den Ihre App verwendet. Dies kann nur eingestellt werden, wenn Sie Ihrem Firebase-Projekt eine App hinzufügen.

  4. Am Ende laden Sie eine google-services.json Datei herunter. Sie können diese Datei jederzeit erneut herunterladen. (Diese Datei befindet sich unter der Projekteinstellung in der Firebase-Konsole).

  5. Wechseln Sie in die Android-Projektansicht, und fügen Sie die Datei google-service.json im App-Ordner ein

Im nächsten Schritt fügen Sie das SDK hinzu, um die Firebase-Bibliotheken in das Projekt zu integrieren.

Fügen Sie das SDK hinzu

Um die Firebase-Bibliotheken in eines Ihrer eigenen Projekte zu integrieren, müssen Sie einige grundlegende Aufgaben zur Vorbereitung Ihres Android Studio-Projekts ausführen. Möglicherweise haben Sie dies bereits beim Hinzufügen von Firebase zu Ihrer App getan.

  1. Fügen Sie der build.gradle Datei build.gradle Regeln build.gradle , um das google-services-Plugin aufzunehmen :
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.1.1'
    }
}
 

app/build.gradle dann in Ihrer Modul-Gradle-Datei (normalerweise app/build.gradle ) die app/build.gradle Plugin-Zeile am Ende der Datei hinzu, um das Gradle-Plugin zu aktivieren:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  compile 'com.google.firebase:firebase-core:9.4.0'//THIS IS FOR ANALYTICS
  compile "com.google.firebase:firebase-database:11.0.2" 
}

// BELOW STATEMENT MUST BE WRITTEN IN BOTTOM
apply plugin: 'com.google.gms.google-services'
 

Anmerkungen:

  • Daten können ohne Authentifizierung nicht gelesen / geschrieben werden. Wenn Sie es ohne Authentifizierung wünschen. Ändern Sie die Regeln in der Database Firebase Console.

    {"rules": {".read": true, ".write": true}}

  • Fügen Sie die Internet-Berechtigung in Manifest hinzu

  • Aktualisieren Sie die Google Play-Dienste und das Google Repository

Ordnen Sie das benutzerdefinierte Modell automatisch der Datenstruktur zu

Nachdem Sie ein paar Daten für die Datenbank festgelegt haben, erhalten Sie eine Struktur, die aus mehreren Knoten wie dieser besteht.

"user" : {
    "-KdbKcU2ptfYF2xKb5aO" : {
      "firstName" : "Arthur",
      "lastName" : "Schopenhauer",
      "userName" : "AphorismMan",
      "phone" : "+9022-02-1778",
      "gender": "M",
      "age" : 25
    },
    "-KdbQFjs9BDviuqQVHjY" : {
      "firstName" : "Werner",
      "lastName" : "Heisenberg",
      "userName" : "whereAmI",
      "phone" : "+9005-12-1901",
      "gender": "M",
      "age" : 75
    }
  }
 

Sie können Datenstrukturen kategorisieren.

Klasse erstellen

Erstellen Sie eine Modellklasse, um die Datenbank festzulegen.

@IgnoreExtraProperties
public class User {
    public String firstName;
    public String lastName;
    public String userName;
    public String phone;
    public String gender;
    public int age;

    public User() {
    }

    public User(String firstName, String lastName, String userName, String phone, String gender, int age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.userName = userName;
        this.phone = phone;
        this.gender = gender;
        this.age = age;
    }
}
 

Einige Dinge, die Sie beim Erstellen einer Modellklasse beachten sollten, die Sie Ihren Daten zuordnen möchten:

  1. Sie müssen einen leeren Konstruktor haben
  2. Der Umfang der Variablen / Felder muss öffentlich sein, damit der von der Firebase zurückgegebene DataSnapshot auf diese Felder zugreifen kann. Wenn Sie dies nicht tun, wenn Sie Daten abrufen möchten, kann DataSnapshot im Callback nicht auf Ihr Modell zugreifen. Dies führt zu einer Ausnahme.
  3. Die Namen der Variablen / Felder sollten mit denen in Ihrer Datenstruktur übereinstimmen.

Senden an Firebase

Erstellen Sie ein Benutzerobjekt

User user = new User ( "Arthur","Schopenhauer","AphorismMan","+9022-02-1778","M",25)
 

und Referenz

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
 

Jetzt haben Sie die Referenz Ihrer Datenbank. Erstellen Sie einen user mit databaseReference.child("user") . Wenn Sie .push() Ihre Modelle unter zufällig erstellten eindeutigen IDs wie oben "-KdbKcU2ptfYF2xKb5aO", "-KdbQFjs9BDviuqQVHjY" .

databaseReference.child("user").push().setValue(user, new DatabaseReference.CompletionListener() {
            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                Toast.makeText(getActivity(), "User added.", Toast.LENGTH_SHORT).show();

            }
        });
 

Wenn Sie Ihre Daten unter Ihrem spezifischen Schlüssel .child("yourSpecificKey") , tun Sie dies mit .child("yourSpecificKey") anstelle von .push() .

databaseReference.child("user").child("yourSpecificKey").setValue(user,...

Einfachen Wert in die Datenbank schreiben

Schließen Sie zuerst die Installation und das Setup ab , um Ihre App mit Firebase zu verbinden. Dann können Sie von überall in Ihrer Klasse schreiben:

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");
 

Es wird Hello, Wold! schreiben Hello, Wold! in den message , wie unten zu sehen:

"your-project-parent" : {
    "message" : "Hello, World!"
}
 

Erläuterung

FirebaseDatabase database = FirebaseDatabase.getInstance();
 

Mit dem obigen Code wird die FirebaseDatabase Instanz dem database zur weiteren Verwendung zugewiesen.

DatabaseReference myRef = database.getReference("message");
 

Der myRef Code verweist auf das myRef Objekt in dem myRef "message" des übergeordneten Projekts (in diesem Beispiel ist es "your-project-parent" ). Also ist es "your-project-parent/message"

myRef.setValue("Hello, World!");
 

Über dem Code wird "Hello, World!" in den von myRef referenzierten myRef