Code: Select all
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()
}
}
}
Was ich getan habe:
1.Firebase erfolgreich integriert indem Sie der offiziellen Firebase-Dokumentation für Android folgen.
2. Es wurde sichergestellt, dass google-services.json korrekt zu meinem Projekt hinzugefügt wurde.
3.Überprüft, dass Firebase-Abhängigkeiten in den build.gradle-Dateien enthalten sind.
4.Bestätigt, dass die Echtzeitdatenbank in der Firebase-Konsole aktiviert wurde.
5.Überprüft die Firebase-Regeln; Derzeit sind sie so eingestellt, dass Lese- und Schreibzugriff möglich sind:
Code: Select all
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Problem:
Daten werden nicht gespeichert die Firebase-Echtzeitdatenbank.
Die Erfolgs- oder Fehlerblöcke in .addOnCompleteListener werden nicht ausgeführt.
Es wird nur die Toast-Nachricht „Hallo Benutzer“ angezeigt.
Umgebung:
Android Studio Flamingo | 2022.2.1 Patch 2
Firebase Database SDK-Version: 20.0.6
Kotlin-Version: 1.8.10
Testen auf Android 12.
Frage:
Warum speichert die setValue-Methode keine Daten in der Datenbank?
Was übersehe ich oder mache ich falsch?
Jede Hilfe oder Anregung wäre sehr dankbar!
Was ich versucht habe:
Verifizierte Firebase-Konfiguration:
Ich habe die offiziellen Schritte von Firebase befolgt Integrieren Sie die Echtzeitdatenbank.
Es wurde sichergestellt, dass sich google-services.json im App-Verzeichnis befindet.
Abhängigkeiten:
Überprüft, ob die folgenden Abhängigkeiten hinzugefügt wurden die build.gradle-Datei:
gradle
Code: Select all
implementation 'com.google.firebase:firebase-database-ktx:20.0.6'
implementation 'com.google.firebase:firebase-auth-ktx:22.1.1'
Die Datenbankregeln wurden vorübergehend geändert in:
Code: Select all
{
"rules": {
".read": "true",
".write": "true"
}
}
Debugging:
Log.d()-Anweisungen hinzugefügt, um zu überprüfen, ob Die Methode setValue() wird aufgerufen.
Bestätigt, dass der Click-Listener wie erwartet funktioniert, da die Toast-Meldung „Hallo Benutzer“ angezeigt wird.
Neuaufbau und Tests:
Gereinigt und das Projekt in Android Studio neu erstellt.
Die App wurde auf dem Testgerät deinstalliert und erneut installiert, um eine Neuinstallation sicherzustellen.
Erwartetes Ergebnis:
Wenn auf die Schaltfläche geklickt wird , Daten („Hallo Firebase“) sollten in den Benutzer-/Willkommenspfad in der Firebase-Echtzeitdatenbank geschrieben werden.
Bei Erfolg sollte die App die Toast-Meldung „Test erfolgreich...“ anzeigen.
Wenn ja ein Fehler, es sollte die Fehlermeldung protokollieren und einen Toast mit der Fehlerursache anzeigen