2017-01-26 7 views
0

Ich mache eine App, die einen Chat-Raum hat. Ich habe Firebase für den Chat verwendet, meine Frage ist, wie kann ich den Chat aktualisieren, wenn ein Benutzer eine Nachricht sendet und wie die letzte Nachricht angezeigt wird, wenn der Benutzer in den Chat-Raum eintritt.Refresh Firebase Chat-Nachrichten

Antwort

1

Sie müssen einen ChildEventListener an Ihre Nachrichtenreferenz in Firebase binden.

Etwas wie:

ref.addChildEventListener(new ChildEventListener() { 
    public void onChildAdded(DataSnapshot dataSnapshot, String previousKey) { 
     // Do Whatever you need 
} 

Jetzt mit jedem hinzugefügt Kind, können Sie die Nachricht von dataSnapshot abrufen und Ihren Adapter-Datensatz oder alles, was Sie wollen, aktualisieren.

Für die zweite Frage, ich glaube, was Sie suchen, ist queryLimited(toLast: 1)

0

Firebase Realtime-Datenbank kein Konzept von „refresh“ haben. Es wird erwartet, dass Sie einen Listener für alle Daten registrieren, an denen Sie interessiert sind, und dieser Listener wird wiederholt aufgerufen, wenn sich die Daten ändern. Der Listener ist immer "frisch", solange er hinzugefügt wurde und Sie eine Netzwerkverbindung haben.

In Betracht ziehen, in eine ChildEventListener zu schauen, um neue Elemente an einem Datenbankstandort zu empfangen, sobald sie verfügbar sind.