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

Instalacja i konfiguracja na Androidzie

Połącz swoją aplikację z Firebase

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

Utwórz bazę danych

  1. Przejdź do sekcji danych w czasie rzeczywistym z konsoli Firebase . Pojawi się prośba o wybranie istniejącego projektu Firebase. Postępuj zgodnie z przepływem pracy tworzenia bazy danych.

  2. Wybierz tryb uruchamiania reguł zabezpieczeń Firebase:

    Tryb testowy

    Dobry do rozpoczęcia pracy z bibliotekami klientów mobilnych i internetowych, ale umożliwia każdemu odczytywanie i nadpisywanie danych. Po przetestowaniu, upewnij się, aby przejrzeć Zrozum Firebase Realtime Rules Database sekcję.

    Aby rozpocząć korzystanie z pakietu SDK sieci Web, Apple lub Android, wybierz tryb testowy.

    Tryb zablokowany

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

  3. Wybierz region dla bazy danych. W zależności od wybranego regionu, nazw bazy danych będzie mieć postać <databaseName>.firebaseio.com lub <databaseName>.<region>.firebasedatabase.app . Aby uzyskać więcej informacji, zobacz wybierz lokalizacje dla swojego projektu .

  4. Kliknij Gotowe.

Po włączeniu Aktualizacje bazy danych, ale także umożliwia API w chmurze API Managera .

Dodaj pakiet SDK bazy danych czasu rzeczywistego do swojej aplikacji

Korzystanie z Firebase Android Bom , deklarują zależność dla Realtime Database biblioteki Android w module (app szczebla) Gradle plik (zazwyczaj app/build.gradle ).

Jawa

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

Korzystając z Firebase Bom Android , aplikacja będzie zawsze używać kompatybilne wersje bibliotek Firebase Android.

(Alternatywna) Stwierdzenie Firebase zależności biblioteki bez użycia BOM

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

Należy pamiętać, że w przypadku korzystania z wielu bibliotek Firebase w swojej aplikacji, zalecamy korzystania z BOM do zarządzania wersjami biblioteki, co gwarantuje, że wszystkie wersje są kompatybilne.

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

Korzystając z Firebase Bom Android , aplikacja będzie zawsze używać kompatybilne wersje bibliotek Firebase Android.

(Alternatywna) Stwierdzenie Firebase zależności biblioteki bez użycia BOM

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

Należy pamiętać, że w przypadku korzystania z wielu bibliotek Firebase w swojej aplikacji, zalecamy korzystania z BOM do zarządzania wersjami biblioteki, co gwarantuje, że wszystkie wersje są kompatybilne.

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

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 odczytywania i zapisywania danych.

Napisz do swojej bazy danych

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

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. Kiedy zapiszesz obiekt, odpowiedzi z wszystkich pobierających zostaną zapisane jako dzieci tej lokalizacji.

Czytaj z Twojej bazy danych

Aby dokonać aktualizacji danych aplikacji w czasie rzeczywistym, należy dodać ValueEventListener do utworzonej właśnie odniesienie.

onDataChange() metoda w tej klasie jest wyzwalany raz, gdy słuchacz jest załączony i ponownie przy każdej zmianie danych, w tym dzieci.

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 razem z usługą ProGuard, musisz wziąć pod uwagę sposób, w jaki obiekty modelu będą serializowane i deserializowane po zaciemnieniu. Jeśli używasz DataSnapshot.getValue(Class) lub DatabaseReference.setValue(Object) do odczytu i zapisu danych, trzeba będzie dodać reguły do proguard-rules.pro pliku:

    # 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.** {
      *;
    }

Aby uzyskać pomoc w przypadku pytań lub problemów związanych z PROGUARD, odwiedzić fora Guardsquare Wspólnoty , aby uzyskać pomoc od eksperta.

Przygotuj się do uruchomienia

Przed uruchomieniem aplikacji, zalecamy chodzenie za pośrednictwem naszego uruchomić listę kontrolną , aby upewnić się aplikacja jest gotowa do pracy!

Pamiętaj, aby umożliwić aplikacji Check , aby zapewnić, że tylko aplikacje mogą uzyskać dostęp do baz danych.

Następne kroki