[英]Get Value of Key Based on the Parent Child of Current User Firebase Android
我正在尝试检索ServiceFee 中的值。 我不能直接
FirebaseDatabase.getInstance().getReference()
.child("RequestService").child("Plumbers").child(uid)
因为RequestService下面的 child (如 Plumbers)应该依赖于在Workers 中找到的当前用户的 Parent Child
作为屏幕截图中显示的示例,用户KO2rC..的父子节点是Plumbers ,因此我应该先获取它,然后才能获取ServiceFee值
试试这个:
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")
处添加快照,然后使用getKey()
迭代并检索Plumbers
的值。
之后添加一个嵌套的侦听器并将检索到的Plumbers
放入 child child("RequestService").child(plumbers)
并检索ServiceFee
值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.