Ho usato la sintassi con getValue() direttamente in una classe (che dovrebbe essere denominata POJO, in questo caso)...
Riprovo a ricostruire il codice. Con questo, io prendo riferimento al primo nodo del database:
reference= FirebaseDatabase.getInstance().getReference();Ora mi esploro questo nodo di base.
reference= FirebaseDatabase.getInstance().getReference(); reference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { System.out.println(dataSnapshot.getValue()); } @Override public void onCancelled(DatabaseError databaseError) { } });
10-22 13:32:17.125 3352-3352/? I/System.out: {-KUae5VrVyXMk2lFt39t={cognome=Bianchi, professione=Squartatore, nome=Carlo, eta=54}, -KUae5VW3jfCoWP2yQmc={cognome=Rossi, professione=Stupratore, nome=Mario, eta=45}, -KUae5VsYGesGotl6PZf={cognome=Verdi, professione=Serial killer, nome=Luigi, eta=36}}Ecco, ho ottenuto tutto il mio piccolo database di soggetti infami recuperando il nodo radice.
Vediamo meglio come sta messo...
{ -KUae5VrVyXMk2lFt39t={cognome=Bianchi, professione=Squartatore, nome=Carlo, eta=54}, -KUae5VW3jfCoWP2yQmc={cognome=Rossi, professione=Stupratore, nome=Mario, eta=45}, -KUae5VsYGesGotl6PZf={cognome=Verdi, professione=Serial killer, nome=Luigi, eta=36} }E andiamoci a studiare la struttura del JSON.
Confrontiamo con un esempio preso da un tutorial:
var JSON = { proprieta1: 'Valore', proprieta2: 'Valore', proprietaN: 'Valore' }e mi coloro quell'altro in modo analogo:
reference= { -KUae5VrVyXMk2lFt39t={cognome=Bianchi, professione=Squartatore, nome=Carlo, eta=54}, -KUae5VW3jfCoWP2yQmc={cognome=Rossi, professione=Stupratore, nome=Mario, eta=45}, -KUae5VsYGesGotl6PZf={cognome=Verdi, professione=Serial killer, nome=Luigi, eta=36} }Ecco, ogni nodo contiene un "array" di nodi ognuno dei quali è composto di due parti, che si chiamano nome e valore.
Bene, una volta visto questo, cambio discorso e vado a vedere che succede se devo updatare un record.
Posso ottenere, con la sintassi vista prima, in cui leggo il contenuto del nodo principale, l'elenco dei children di questo nodo?
Vediamo:
reference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot child : dataSnapshot.getChildren()) { System.out.println(child.getValue()); } } @Override public void onCancelled(DatabaseError databaseError) { } });
10-22 14:57:18.235 10386-10386/? I/System.out: {cognome=Rossi, professione=Stupratore, nome=Mario, eta=45} 10-22 14:57:18.235 10386-10386/? I/System.out: {cognome=Bianchi, professione=Squartatore, nome=Carlo, eta=54} 10-22 14:57:18.235 10386-10386/? I/System.out: {cognome=Verdi, professione=Serial killer, nome=Luigi, eta=36}Come avevo già, del resto, fatto.
Ma se io updato uno dei tre, ammettiamo che Luigi Verdi si sia ravveduto e adesso faccia un lavoro onesto, come faccio?
Come si fa una query su database Firebase?
Nessun commento:
Posta un commento