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 .

Upewnij się, że w pliku build.gradle poziomie projektu uwzględniono repozytorium Google Maven zarówno w sekcji buildscript i allprojects .

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 w 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

Dodaj zależność dla biblioteki bazy danych czasu rzeczywistego dla systemu Android do pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle ):

Jawa

implementation 'com.google.firebase:firebase-database:19.4.0'

Kotlin + KTX

implementation 'com.google.firebase:firebase-database-ktx:19.4.0'

Skonfiguruj reguły bazy danych czasu rzeczywistego

Baza danych czasu rzeczywistego zapewnia deklaratywny język reguł, który pozwala zdefiniować strukturę danych, sposób ich indeksowania i kiedy można je odczytywać i zapisywać.

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 metod 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 za każdym razem, gdy zmieniają się dane, w tym elementy podrzędne.

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ę, w jaki sposób 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, 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