База данных Firebase Realtime: данные не сохраняются, несмотря на успешную интеграциюAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 База данных Firebase Realtime: данные не сохраняются, несмотря на успешную интеграцию

Сообщение Anonymous »

Я работаю над проектом Android и успешно интегрировал базу данных Firebase Realtime. Чтобы проверить, сохраняются ли данные в базе данных, я написал следующий код:

Код: Выделить всё

information_ReadingBinding.testting.setOnClickListener {
Toast.makeText(this, "Hello user", Toast.LENGTH_LONG).show()

reference.child("Users").child("Welcome").setValue("Hello Firebase").addOnCompleteListener { task ->
if (task.isSuccessful) {
Log.d("Firebase", "Test data saved successfully.")
Toast.makeText(applicationContext, "Testing successful..", Toast.LENGTH_SHORT).show()
} else {
Log.e("Firebase", "Failed to save test data: ${task.exception?.message}")
Toast.makeText(applicationContext, "Failed to save data: ${task.exception?.message}", Toast.LENGTH_LONG).show()
}
}
}
Когда я нажимаю кнопку, отображается всплывающее сообщение «Привет, пользователь», но данные не сохраняются в базе данных. Сообщения об успехе или сбое в блоке addOnCompleteListener не запускаются.
Что я сделал:
  • < li>Firebase успешно интегрирована в соответствии с официальной документацией Firebase для Android.
  • Убедено, что google-services.json правильно добавлен в мой проект.
  • Проверено, что зависимости Firebase включены в файлы build.gradle.
  • Подтверждено, что база данных реального времени была включено в консоли Firebase.
  • Проверил правила Firebase; в настоящее время они настроены на доступ для чтения и записи:

    Код: Выделить всё

    {
    "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
    }
    }
    
  • Приложение отлажено и подтверждено, что перед нажатием не регистрируется никаких ошибок.
Но данные не сохраняются в базе данных Firebase Realtime.
Блоки успеха или неудачи в .addOnCompleteListener не выполняются.
Только всплывающее сообщение «Привет, пользователь» отображается.
Среда:
  • Android Studio Flamingo | 2022.2.1 Исправление 2
  • Версия Firebase Database SDK: 20.0.6
  • Версия Kotlin: 1.8.10
    < li>Тестирование на Android 12.
Почему метод setValue не сохраняет данные в базу данных?
Что я упускаю или делаю неправильно?
Что я пробовал:
  • Проверенная конфигурация Firebase:
  • Выполнили официальные действия Firebase по интеграции базы данных реального времени.
  • Убедились, что Google- Services.json находится в каталоге приложения.
  • Проверил, что в файл build.gradle добавлены следующие зависимости:

    Код: Выделить всё

    implementation 'com.google.firebase:firebase-database-ktx:20.0.6'
    implementation 'com.google.firebase:firebase-auth-ktx:22.1.1'
    
  • Временно изменены правила базы данных на:

    Код: Выделить всё

    {
    "rules": {
    ".read": "true",
    ".write": "true"
    }
    }
    
    Это обеспечивает неограниченный доступ в целях тестирования.
Отладка:
p>
Добавлены операторы Log.d() для проверки того, вызывается ли метод setValue().
Подтверждено, что прослушиватель кликов работает должным образом, поскольку Появится всплывающее сообщение «Привет, пользователь».
Пересборка и тестирование:
Очистка и пересборка проекта в Android Studio.
Удаление и переустановка приложения на тестируемом устройстве, чтобы убедитесь, что установлена ​​новая установка.
Ожидаемый результат:
При нажатии кнопки данные («Hello Firebase») должны быть записаны в путь «Пользователи/Добро пожаловать» в базе данных Firebase Realtime. .
Если В случае успеха приложение должно отобразить всплывающее сообщение «Тестирование прошло успешно..».
При возникновении ошибки оно должно зарегистрировать сообщение об ошибке и отобразить всплывающее сообщение с указанием причины сбоя.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ntegration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»