Если вы еще этого не сделали, добавьте Firebase в свой Android-проект .
Создайте базу данных
Перейдите в раздел Realtime Database в консоли Firebase . Вам будет предложено выбрать существующий проект Firebase. Следуйте инструкциям по созданию базы данных.
Выберите режим запуска для ваших Firebase Security Rules :
- Тестовый режим
Отлично подходит для начала работы с клиентскими библиотеками для мобильных и веб-приложений, но позволяет любому пользователю читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом « Понимание правил Firebase Realtime Database» .
Для начала работы с веб-версией, Apple SDK или Android выберите тестовый режим.
- Режим блокировки
Запрещает все операции чтения и записи с мобильных и веб-клиентов. Ваши аутентифицированные серверы приложений по-прежнему смогут получать доступ к вашей базе данных.
Выберите местоположение для базы данных.
В зависимости от местоположения базы данных , URL-адрес новой базы данных будет иметь один из следующих форматов:
DATABASE_NAME .firebaseio.com(для баз данных в регионеus-central1)DATABASE_NAME . REGION .firebasedatabase.app(для баз данных во всех остальных локациях)
Нажмите «Готово» .
Добавьте SDK для Realtime Database в ваше приложение.
<project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle ) добавьте зависимость от библиотеки Realtime Database для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотек.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.11.0")) // Add 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") }
Использование Firebase Android BoM , что ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
(Альтернативный вариант) Добавление зависимостей библиотеки Firebase без использования BoM
Если вы решите не использовать Firebase BoM , вам необходимо указать версию каждой библиотеки Firebase в строке зависимости.
Обратите внимание, что если вы используете несколько библиотек Firebase в своем приложении, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add 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:22.0.1") }
Настройка Realtime Database Security Rules
Realtime Database предоставляет декларативный язык правил, позволяющий определять структуру данных, способы их индексирования, а также условия чтения и записи данных.
Запишите данные в свою базу данных
Получите экземпляр вашей базы данных с помощью getInstance() и укажите место, куда вы хотите записать данные.
Kotlin
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
Считывание данных из вашей базы данных
ValueEventListener к только что созданной ссылке.
onDataChange() в этом классе срабатывает один раз при подключении слушателя и снова каждый раз при изменении данных, включая дочерние элементы.
Kotlin
// 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()) } })
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull 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(@NonNull DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
Дополнительно: Настройка 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 this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
*;
}
Чтобы получить помощь по вопросам или проблемам, связанным с ProGuard, посетите форумы сообщества Guardsquare, г��е вы сможете получить консультацию эксперта.
Подготовка к запуску
Перед запуском приложения мы рекомендуем ознакомиться с нашим контрольным списком , чтобы убедиться, что ваше приложение готово к работе!
Обязательно включите функцию App Check , чтобы гарантировать, что доступ к базам данных будет только у ваших приложений.
Следующие шаги
- Узнайте, как структурировать данные для Realtime Database
- Масштабируйте свои данные на нескольких экземплярах базы данных .
- Чтение и запись данных .
- Просмотрите свою базу данных в консоли Firebase .