Sie dies mit verschachtelten Abfragen erreichen können. Angenommen, Sie haben einen Knoten users
genannt und ist in der gleichen Zeit ein direkter Nachkomme der Firebase Wurzel und dass driversWorking
unter der Annahme, ist auch ein direkter Nachkomme der Firebase Wurzel, verwenden Sie bitte den folgenden Code:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = userIdRef.child("users").child(userId);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String riderId = dataSnapshot.child("riderId").getValue(String.class);
DatabaseReference ref = rootRef.child("driversWorking").child(driverId).child("l");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
double zero = ds.child("0").getValue(Double.class);
double one = ds.child("1").getValue(Double.class);
Log.d("TAG", zero + "/" + one);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
yourRef.addListenerForSingleValueEvent(eventListener);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(valueEventListener);
In der userId
ist die ID des angemeldeten Benutzers und driverId
ist die ID des Treibers. In dem Beispiel, das Sie angegeben haben, kann 0163640500
sein.