Firebase Android addListenerForSingleValueEvent liefert manchmal keine Daten

9

Wenn meine Anwendung gestartet wird, überprüfe ich die aktuellen Benutzerdetails in meiner Firebase-Datenbank (ich speichere die ID dafür).

Ich füge addListenerForSingleValueEvent dem Benutzerref hinzu, um seine Daten zu lesen.

Mein Problem ist, dass es manchmal keinen Wert zurückgibt, weder Erfolg noch Misserfolg.

Nur das Löschen von Anwendungsdaten löst es, aber zwingt den Benutzer natürlich dazu, sich erneut anzumelden.

Ich habe einige Posts bei SO gelesen, aber keine Lösung gefunden.

Hier ist mein Code:

%Vor%     
Adi 08.06.2016, 12:58
quelle

3 Antworten

5

Die Empfehlung, die ich dafür gesehen habe, besteht darin, keepSynced(true) für das Objekt Query aufzurufen.

    
John O'Reilly 18.10.2016 17:43
quelle
0

Meine Schätzung ist user/:id existiert nicht. Überprüfen Sie Ihre Fehlerausgabe:

%Vor%     
JP Ventura 15.12.2016 03:59
quelle
-1

Ich habe seit Tagen dasselbe Problem und habe es schließlich behoben.

Sieht aus wie mein Api-Schlüssel geändert wurde! Und das hat verhindert, dass addListenerForSingleValueEvent() zurückgegeben wurde!
Rufen Sie die Firebase-Konsole auf, öffnen Sie Ihr Projekt und klicken Sie auf das Einstellungssymbol und gehen Sie zu Projekteinstellungen . Dort sehen Sie Web API Key . Nimm das und kopiere es in deine google-services.json Datei in deinem Projektverzeichnis. Hier ist ein Ausschnitt aus dieser Datei:

%Vor%

Das ist es. Nachdem ich den Wert von "current_key" durch den Schlüssel von Firebase ersetzt hatte, kehrte er an die Arbeit zurück (zuvor hatte er einen anderen Schlüssel, den ich unter Google Console generiert habe und es hat monatelang funktioniert. Vor ein paar Tagen hat es aufgehört zu arbeiten)

    
Alaa M. 22.01.2017 19:09
quelle