Próbuję użyć interfejsu Java API do odczytu danych z bazy danych Firebase w aplikacji Android w zdarzeniu onCreate(). Innymi słowy, próbuję zrobić najprostszy odczyt możliwy, odpowiednik ...Jak odczytać dane z Firebase ONCE przy użyciu java/android?
ref.once('value', function(snapshot) {
});
... w JavaScript API. Próbuję użyć metody addEventListenerForSingleValueEvent(), ale wydaje mi się, że chcę zastąpić metodę onDataChange(), która nie jest tym, czego potrzebuję. Chcę uzyskać dane, gdy wykonanie programu osiągnie ten wiersz, niezależnie od zdarzeń bazy danych. Oto moja (niedokończona) funkcja ...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.poll_table);
// First get the table layout
tbl = (TableLayout) findViewById(R.id.pollsTable);
// Now let's create the header
TableRow tHead = createPollsTableHeader();
// Add header to tableLayout
tbl.addView(tHead, new TableLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
// Add all polls in ref as rows
polls.addListenerForSingleValueEvent(new ValueEventListener() {
// DON'T KNOW WHAT TO DO HERE
}
}
Nie sądzę, że to jest poprawna metoda. Chcę po prostu być w stanie uzyskać Datasnapshot że mogę iterację i uzyskać dane z jak ...
for (Datasnapshot child : datasnapshot) {
}
..just jakbym za pomocą zdarzenia ref.once('value', function(snapshot)
w API Javaxcript.
Oh cool, dostał. Dzięki Michael! – MassStrike
Musiałem użyć snapshot.getChildren() '' 'dla (DataSnapshot child: snapshot.getChildren()) {' '' – realgt
@realgt Oops, masz rację. Zaktualizowano odpowiedź. Dzięki! –