我正在尝试检索 ServiceFee 中的值。我不能直接做到
FirebaseDatabase.getInstance().getReference()
.child("RequestService").child("Plumbers").child(uid)
因为 RequestService (如管道工)以下的孩子应该依赖于工人
中找到的当前用户的父子女>如屏幕截图中显示的示例,用户 KO2rC .. 的父母是管道工,所以我应该先获得 ServiceFee 值
我尝试了in my previous post这项技术,但我似乎无法恢复价值,只有钥匙而且我不需要钥匙
答案 0 :(得分:1)
试试这个:
FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
String uid=user.getUid();
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Workers");
ref.addSingleValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String plumbers=datas.getKey();
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("RequestService").child(plumbers).child(uid);
ref.addSingleValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String fees=dataSnapshot.child("ServiceFee").getValue().toString();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
您可以执行上述操作,首先在child("Workers")
添加快照,然后使用Plumbers
迭代并检索getKey()
的值。
之后添加嵌套侦听器并将检索到的Plumbers
放入子child("RequestService").child(plumbers)
内并检索值ServiceFee