2017-08-11 2 views
0

DataSnapshot ist immer mit Firebase-Listener verbunden, aber ich entwickle eine App, die die gesamte Datenbank auf Zeitbasis abfragt, also dachte ich, ich kann dieses Problem lösen, indem ich manuell DataSnapshot-Instanz erstellen, aber ich kann nicht finden erschaffen. Ich habe es versucht, aber es hat nicht funktioniert.DataSnapshot manuelle Erstellung

DataSnapshot snapshot = new DataSnapshot(); 

so will ich wissen, ist es überhaupt möglich?

Antwort

1

In der können Sie sehen, dass es keinen öffentlichen Konstruktor zum Erstellen Ihrer eigenen DataSnapshot Instanz gibt.

1

Sie können kein neues Objekt mit dem neuen Schlüssel wie folgt erstellen:

DataSnapshot snapshot = new DataSnapshot(); 

Da DataSnapshot class kein kein Argument Konstruktor haben. Diese class bietet einen einzigen Konstruktor:

DataSnapshot(Firebase ref, com.firebase.client.snapshot.IndexedNode node) 

Firebase In Bezug auf:

A DataSnapshot Instanz enthält Daten aus einer Datenbank Firebase Standort. Jedes Mal, wenn Sie Datenbankdaten lesen, erhalten Sie die Daten als DataSnapshot.

Dies ist die einzige Art und Weise, in der Sie DataSnapshot mit Firebase verwenden können.

Ich hoffe, es hilft.

1

Nach der Google firebase documentation:

A DataSnapshot Instanz enthält Daten aus einer Datenbank Firebase Lage. Jedes Mal, wenn Sie Datenbankdaten lesen, erhalten Sie die Daten als DataSnapshot.

Sie sind effizient generierte unveränderliche Kopien der Daten in einem Firebase-Datenbankspeicherort. Sie können nicht geändert werden und werden sich nie ändern.

Daher können Sie eine DataSnapshot-Instanz nicht mithilfe eines Konstruktors instanziieren.

Verwandte Themen