Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Установка и настройка на Android

Подключите свое приложение к Firebase

Если вы еще этого не сделали, добавьте Firebase в свой проект Android .

В файле build.gradle уровне проекта обязательно build.gradle репозиторий Google Maven в buildscript и allprojects .

Создать базу данных

  1. Если вы еще этого не сделали, создайте проект Firebase: в консоли Firebase нажмите « Добавить проект» , затем следуйте инструкциям на экране, чтобы создать проект Firebase или добавить службы Firebase в существующий проект GCP.

  2. Перейдите в раздел Realtime Database консоли Firebase . Вам будет предложено выбрать существующий проект Firebase. Следуйте рабочему процессу создания базы данных.

  3. Выберите начальный режим для ваших правил безопасности Firebase:

    Тестовый режим

    Подходит для начала работы с мобильными и веб-клиентскими библиотеками, но позволяет любому читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом Общие сведения о правилах базы данных Firebase в реальном времени .

    Чтобы начать работу с Интернетом, SDK для iOS или Android, выберите тестовый режим.

    Заблокированный режим

    Запрещает все операции чтения и записи из мобильных и веб-клиентов. Ваши аутентифицированные серверы приложений по-прежнему могут обращаться к вашей базе данных.

  4. Щелкните Готово .

Когда вы включаете базу данных в реальном времени, она также включает API в Cloud API Manager .

Добавьте в приложение пакет Realtime Database SDK

Добавьте зависимость для библиотеки Android Realtime Database в файл Gradle вашего модуля (уровня приложения) (обычно app/build.gradle ):

Ява

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

Котлин + KTX

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

Настроить правила базы данных в реальном времени

База данных реального времени предоставляет язык декларативных правил, который позволяет вам определять, как ваши данные должны быть структурированы, как они должны индексироваться и когда ваши данные могут быть прочитаны и записаны.

Напишите в вашу базу данных

Получите экземпляр своей базы данных с помощью getInstance() и укажите место, в которое вы хотите записать.

Ява

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

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

Котлин + KTX

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

myRef.setValue("Hello, World!")

Таким образом вы можете сохранить в базе данных ряд типов данных, включая объекты Java. Когда вы сохраняете объект, ответы от любых геттеров будут сохранены как дочерние элементы этого местоположения.

Читать из вашей базы данных

Чтобы данные вашего приложения обновлялись в реальном времени, вы должны добавить ValueEventListener к только что созданной ссылке.

Метод onDataChange() в этом классе срабатывает один раз при подключении слушателя и снова каждый раз при изменении данных, включая дочерние onDataChange() .

Ява

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

Котлин + 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())
    }
})

Необязательно: настроить ProGuard

При использовании базы данных Firebase Realtime в своем приложении вместе с ProGuard необходимо учитывать, как объекты вашей модели будут сериализованы и десериализованы после обфускации. Если вы используете DataSnapshot.getValue(Class) или DatabaseReference.setValue(Object) для чтения и записи данных, вам нужно будет добавить правила в файл 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.** {
      *;
    }

Подготовка к запуску

Перед запуском приложения мы рекомендуем пройтись по нашему контрольному списку для запуска, чтобы убедиться, что ваше приложение готово к работе!

Следующие шаги