2017-12-12 1 views

Antwort

0

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.

Verwandte Themen