繁体   English   中英

基于当前用户 Firebase Android 的父子项获取键的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM