2016-06-20 11 views
4

Ist es möglich, onDataChange() nicht nur beim Einstellen des Listeners auszulösen, sondern nur dann, wenn sich die tatsächlichen Daten ändern?Kann verhindert werden, dass Firebas onDataChange() anfänglich ausgelöst wird?

+0

Meinen Sie, dass wenn Sie in Ihrer Firebase-Datenbank bereits vorhandene Daten haben, diese Daten nicht herunterladen und nur Daten herunterladen, die seit der Initialisierung des Firebase-Listeners gespeichert wurden? –

+0

Ein 'ValueEventListener' ist so definiert, dass er für den aktuellen Wert und jede Änderung dieses Werts aufgerufen wird. Es gibt keine Möglichkeit, dieses Verhalten zu ändern. Das klingt nach einem [XY-Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), aber: Welchen Anwendungsfall versuchen Sie zu implementieren, den Sie nicht wollen? Erhalten Sie den Anfangswert? –

+0

@FrankvanPuffelen Betrachten Sie ein Beispiel einer App, die die Daten- und Populationsliste von ihrem eigenen Endpunkt abruft, die von ihrer eigenen Master-Datenbank gesichert wird (die mit der Firebase-Datenbank synchron ist) und dann, wenn die Änderungen an diesen Daten vorgenommen wurden, auf OnChild ** -Ereignissen hören von Firebase und aktualisieren Sie die Liste .. Ist das möglich? Irgendeine Idee, wie können wir initial onChildAdded() Ereignisse der Firebase db ignorieren und nur die Daten von unserem Endpunkt auf Anhieb abrufen? – Droidwala

Antwort

0

Nein, es ist nicht möglich, wie Sie wollen. Der Firebase-Listener wird gestartet, nachdem Sie authentifiziert und ein Eventlistener eingerichtet wurde.

Verwandte Themen