récupérer des données à partir de la base de données firebase avec certains noeuds étant nulles
cBankRef=myRef.child("user_id").child("ASSETS");
cBankRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String value = dataSnapshot.child("1").child("description").getValue(String.class);
Log.d(TAG, "onChildAdded: the value is"+value);
if(dataSnapshot.child("2").exists()) {
String valuess = dataSnapshot.child("3").child("description").getValue(String.class);
Log.d(TAG, "onChildAdded: the value is: " + valuess);
}
if (dataSnapshot.child("3").exists()) {
String values = dataSnapshot.child("1").child("description").getValue(String.class);
Log.d(TAG, "onChildAdded: the cash at bank is: "+values);
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
premier i accessible l'enfant user_id et l'actif puis à travers les noeuds (« 1 »), (« 2 ») i dû ajouter d'autres noeuds pour obtenir la valeur, le ("1") et ("2") étaient ("Cash at Bank") ("stock") au début mais j'ai décidé de les changer en nombre mais cela donne null @makrand Pawar
mais si j'avais un autre noeud Avoirs en banque et un autre argent dans la main à l'actif serait-je utiliser: cBankRef = myRef.child (» user_id "). child (" ACTIFS "). enfant (" Encaisse ") .child (" stock ") .child (" Encaisse "); pour obtenir tous les nœuds en même temps sans créer plusieurs références, puis utilisez addChildEventListener comme vous me l'avez montré (ci-dessus); @Grimthorr –
mais si j'avais un autre nœud Cash à la banque et un autre Cash In Hand sous ACTIF j'utiliserais: cBankRef = myRef.child ("user_id"). Child ("ACTIF"). Child ("Cash à la banque") .child ("stock") .child ("Encaisse"); pour obtenir tous les nœuds en même temps sans créer plusieurs références, puis utilisez l'addChildEventListener comme vous me l'avez montré (ci-dessus); @Alex Mamo –
La méthode [DatabaseReference # child()] (https://firebase.google.com/docs/reference/android/com/google/firebase/database/DatabaseReference#child (java.lang.String)) est ** pas ** une instruction SELECT.Pour accéder à tout ce qui se trouve sous un nœud, il vous suffit de créer une référence au nœud le plus haut requis, puis d'y attacher un écouteur. J'ai mis à jour ma réponse pour inclure cette clarification et un autre exemple. – Grimthorr