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