Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Instalacja i konfiguracja w systemie Android

Połącz swoją aplikację z Firebase

Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do projektu Androida .

Utwórz bazę danych

  1. Jeśli jeszcze tego nie zrobiłeś, utwórz projekt Firebase: w konsoli Firebase kliknij Dodaj projekt , a następnie postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby utworzyć projekt Firebase lub dodać usługi Firebase do istniejącego projektu GCP.

  2. Przejdź do sekcji Baza danych czasu rzeczywistego konsoli Firebase . Zostaniesz poproszony o wybranie istniejącego projektu Firebase. Postępuj zgodnie z przepływem pracy tworzenia bazy danych.

  3. Wybierz tryb początkowy dla reguł zabezpieczeń Firebase:

    Tryb testowy

    Dobry do rozpoczęcia pracy z bibliotekami klienta mobilnego i internetowego, ale umożliwia każdemu odczyt i nadpisanie danych. Po zakończeniu testów zapoznaj się z sekcją Omówienie reguł bazy danych czasu rzeczywistego Firebase .

    Aby rozpocząć korzystanie z zestawu SDK sieci Web, iOS lub Androida, wybierz tryb testowy.

    Tryb zablokowany

    Odrzuca wszystkie odczyty i zapisy od klientów mobilnych i internetowych. Twoje uwierzytelnione serwery aplikacji mogą nadal uzyskiwać dostęp do bazy danych.

  4. Kliknij Gotowe .

Włączenie bazy danych czasu rzeczywistego powoduje również włączenie interfejsu API w Cloud API Manager .

Dodaj pakiet SDK bazy danych czasu rzeczywistego do swojej aplikacji

Korzystając z Firebase Android BoM , zadeklaruj zależność dla biblioteki Realtime Database Android w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle ).

Jawa

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

    // 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'
}

Korzystając z BoM Firebase na Androida , Twoja aplikacja będzie zawsze używać zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Zadeklaruj zależności bibliotek Firebase bez korzystania z BoM

Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.

Pamiętaj, że jeśli używasz wielu bibliotek Firebase w swojej aplikacji, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.

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:19.5.0'
}

Kotlin + KTX

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

    // 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'
}

Korzystając z BoM Firebase na Androida , Twoja aplikacja będzie zawsze używać zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Zadeklaruj zależności bibliotek Firebase bez korzystania z BoM

Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.

Pamiętaj, że jeśli używasz wielu bibliotek Firebase w swojej aplikacji, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.

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:19.5.0'
}

Skonfiguruj reguły bazy danych czasu rzeczywistego

Baza danych czasu rzeczywistego zapewnia deklaratywny język reguł, który umożliwia zdefiniowanie struktury danych, sposobu ich indeksowania oraz czasu odczytu i zapisu danych.

Napisz do swojej bazy danych

Pobierz instancję bazy danych za pomocą getInstance() i getInstance() do lokalizacji, w której chcesz pisać.

Jawa

// 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!")

W ten sposób można zapisać w bazie danych szereg typów danych, w tym obiekty Java. Gdy zapiszesz obiekt, odpowiedzi ze wszystkich pobierających zostaną zapisane jako elementy podrzędne tej lokalizacji.

Odczytaj z bazy danych

Aby zaktualizować dane aplikacji w czasie rzeczywistym, należy dodać ValueEventListener do właśnie utworzonego odwołania.

Metoda onDataChange() w tej klasie jest wyzwalana raz po dołączeniu detektora i ponownie przy każdej zmianie danych, łącznie z onDataChange() .

Jawa

// 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())
    }
})

Opcjonalnie: skonfiguruj ProGuard

Korzystając z Bazy danych czasu rzeczywistego Firebase w swojej aplikacji wraz z ProGuard, należy wziąć pod uwagę sposób serializacji i deserializacji obiektów modelu po zaciemnieniu. Jeśli używasz DataSnapshot.getValue(Class) lub DatabaseReference.setValue(Object) do odczytu i zapisu danych, będziesz musiał dodać reguły do ​​pliku proguard-rules.pro :

    # Add this global rule
    -keepattributes Signature

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

Przygotuj się do premiery

Przed uruchomieniem aplikacji zalecamy przejrzenie naszej listy kontrolnej uruchamiania, aby upewnić się, że aplikacja jest gotowa do pracy!

Następne kroki