Sto cercando di utilizzare l'API Java per leggere i dati da un database Firebase in un'applicazione Android nell'evento onCreate(). In altre parole, io sto cercando di fare il più semplice possibile leggere, l'equivalente di ...Come leggere i dati da Firebase ONCE usando java/android?
ref.once('value', function(snapshot) {
});
... nell'API JavaScript. Sto cercando di utilizzare il metodo addEventListenerForSingleValueEvent(), ma sembra che voglia sovrascrivere il metodo onDataChange(), che non è quello che voglio. Voglio ottenere i dati quando l'esecuzione del programma raggiunge questa linea, indipendentemente dagli eventi del database. Ecco la mia funzione (incompleta) ...
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
}
}
Non penso nemmeno che questo sia il metodo corretto. Voglio solo essere in grado di ottenere un Datasnapshot che posso scorrere e ottenere i dati fuori, come ...
for (Datasnapshot child : datasnapshot) {
}
..just come se stessi utilizzando l'evento ref.once('value', function(snapshot)
nell'API Javaxcript.
Oh fresco, ce l'ha. Grazie Michele! – MassStrike
Ho dovuto usare snapshot.getChildren() '' 'for (DataSnapshot child: snapshot.getChildren()) {' '' – realgt
@realgt Oops, hai ragione. Aggiornata la risposta. Grazie! –