Catch up on everything we announced at this year's Firebase Summit. Learn more

Installation & Einrichtung auf Android

Verbinden Sie Ihre App mit Firebase

Wenn Sie nicht bereits haben, fügen Sie Firebase zu dem Android - Projekt .

Erstellen Sie eine Datenbank

  1. Navigieren Sie zu dem Echtzeit - Datenbank Abschnitt der Firebase Konsole . Sie werden aufgefordert, ein vorhandenes Firebase-Projekt auszuwählen. Folgen Sie dem Workflow zur Datenbankerstellung.

  2. Wählen Sie einen Startmodus für Ihre Firebase-Sicherheitsregeln aus:

    Testmodus

    Gut für den Einstieg in die Mobil- und Web-Client-Bibliotheken, aber jeder kann Ihre Daten lesen und überschreiben. Nach der Prüfung, stellen Sie sicher , das überprüfen Verstehen Firebase Realtime Datenbank - Regeln Abschnitt.

    Um mit dem Web-, Apple- oder Android-SDK zu beginnen, wählen Sie Testmodus.

    Gesperrter Modus

    Verweigert alle Lese- und Schreibvorgänge von mobilen und Web-Clients. Ihre authentifizierten Anwendungsserver können weiterhin auf Ihre Datenbank zugreifen.

  3. Wählen Sie eine Region für die Datenbank aus. Je nach Auswahl der Region, wird die Datenbank Namensraum der Form <databaseName>.firebaseio.com oder <databaseName>.<region>.firebasedatabase.app . Weitere Informationen finden Sie ausgewählte Länder für Ihr Projekt .

  4. Klicken Sie auf Fertig.

Wenn Sie Echtzeit - Datenbank aktivieren, es ermöglicht auch die API in dem Cloud API - Manager .

Fügen Sie das Realtime Database SDK zu Ihrer App hinzu

Mit Hilfe der Firebase Android BoM , erklärt die Abhängigkeit für die Echtzeit - Datenbank Android - Bibliothek in Ihrem Modul (app-Ebene) Gradle Datei ( in der Regel app/build.gradle ).

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.1')

    // Declare the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database'
}

Durch die Verwendung des Firebase Android BoM werden, Ihre App immer kompatible Versionen der Firebase Android - Bibliotheken verwenden.

(Alternative) Deklarieren Firebase Bibliothek Abhängigkeiten , ohne die BoM mit

Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

Beachten Sie, dass , wenn Sie mehrere Firebase Bibliotheken in Ihrer Anwendung verwenden wir mit der BoM empfehlen Bibliothek Versionen zu verwalten, die sicherstellt , dass alle Versionen kompatibel sind.

dependencies {
    // Declare the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database:20.0.3'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.1')

    // Declare the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database-ktx'
}

Durch die Verwendung des Firebase Android BoM werden, Ihre App immer kompatible Versionen der Firebase Android - Bibliotheken verwenden.

(Alternative) Deklarieren Firebase Bibliothek Abhängigkeiten , ohne die BoM mit

Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

Beachten Sie, dass , wenn Sie mehrere Firebase Bibliotheken in Ihrer Anwendung verwenden wir mit der BoM empfehlen Bibliothek Versionen zu verwalten, die sicherstellt , dass alle Versionen kompatibel sind.

dependencies {
    // Declare the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database-ktx:20.0.3'
}

Konfigurieren von Echtzeit-Datenbankregeln

Die Realtime Database bietet eine deklarative Regelsprache, mit der Sie definieren können, wie Ihre Daten strukturiert und indiziert werden sollen und wann Ihre Daten gelesen und geschrieben werden können.

Schreiben Sie in Ihre Datenbank

Rufen Sie eine Instanz Ihrer Datenbank mit getInstance() und verweisen auf den Ort , den Sie schreiben möchten.

Java

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

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

Kotlin+KTX

// Write a message to the database
val database = Firebase.database
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

Auf diese Weise können Sie eine Reihe von Datentypen in der Datenbank speichern, einschließlich Java-Objekte. Wenn Sie ein Objekt speichern, werden die Antworten aller Getter als untergeordnete Elemente dieses Speicherorts gespeichert.

Aus deiner Datenbank lesen

Um Ihre App - Daten - Update in Echtzeit zu machen, sollten Sie einen hinzufügen ValueEventListener zum Referenz soeben erstellt wurde .

Die onDataChange() Methode in dieser Klasse wird ausgelöst , wenn , wenn der Zuhörer angebracht ist und die Daten erneut Änderungen jedes Mal, einschließlich der Kinder.

Java

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

Kotlin+KTX

// Read from the database
myRef.addValueEventListener(object : ValueEventListener {
    override fun onDataChange(dataSnapshot: DataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        val value = dataSnapshot.getValue<String>()
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Optional: Konfigurieren Sie ProGuard

Wenn Sie Firebase Realtime Database in Ihrer App zusammen mit ProGuard verwenden, müssen Sie berücksichtigen, wie Ihre Modellobjekte nach der Verschleierung serialisiert und deserialisiert werden. Wenn Sie DataSnapshot.getValue(Class) oder DatabaseReference.setValue(Object) lesen und schreiben Daten, müssen Sie Regeln zum hinzufügen proguard-rules.pro Datei:

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models.
    # Modify this rule to fit the structure of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

Um Hilfe zu erhalten für Fragen oder Probleme zu ProGuard haben , besuchen Sie die Guardsquare Gemeinschaft Foren Hilfe von einem Experten zu erhalten.

Bereiten Sie sich auf den Start vor

Bevor Sie Ihre App starten, empfehlen wir zu Fuß durch unsere Start - Checkliste , um sicherzustellen , dass Ihr App ist bereit zu gehen!

Achten Sie darauf , zu ermöglichen App überprüfen , um sicherzustellen , dass nur Ihre Anwendungen Ihre Datenbanken zugreifen können.

Nächste Schritte