如何在android studio中将Firebase实时数据库子值移动到另一个子值中?

如何在android studio中将Firebase实时数据库子值移动到另一个子值中?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想将Firebase实时数据库子值移动到android studio中的另一个子值中。(点数:25分为总计点数:来自同一用户uid { "Users" : { "8xNAsCfc3Afta2lPHHsMWHEOw8C2" : { "points" : 25, "users" : "umar" } }, "wFinal" : { "8xNAsCfc3Afta2lPHHsMWHEOw8C2" : { "totalpoints"

我想将Firebase实时数据库子值移动到android studio中的另一个子值中。(点数:25分为总计点数:来自同一用户uid

{
  "Users" : {
    "8xNAsCfc3Afta2lPHHsMWHEOw8C2" : {
      "points" : 25,
      "users" : "umar"
    }
  },
  "wFinal" : {
    "8xNAsCfc3Afta2lPHHsMWHEOw8C2" : {
      "totalpoints" : 0
    }
  }
}
我想要这个

{
  "Users" : {
    "8xNAsCfc3Afta2lPHHsMWHEOw8C2" : {
      "points" : 0,
      "users" : "umar"
    }
  },
  "wFinal" : {
    "8xNAsCfc3Afta2lPHHsMWHEOw8C2" : {
      "totalpoints" : 25
    }
  }
}

您可以做的是在对您的
用户-userId
参考执行
.setValue(points)
时,您还可以在
wFinal
参考执行
.setValue(points)

确保在
.setValue()
之后添加一个完整的侦听器,以了解每个事务何时完成

伪代码

userRef.child(userId).child("points").setValue(0).addOnCompleteListener {

  onComplete(...) {
    wFinalRef.child(userId).child("totalPoints").setValue(points);
  } 

}

正如我在评论中所说,类似这样的事情

FirebaseDatabase.getInstance().getReference().child("Users").child(userUid).child("points").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()){
            long points = dataSnapshot.getValue(Long.class);
        //transfer the value
        FirebaseDatabase.getInstance().getReference().child("wFinal").child(userUid).child("totalpoints").setValue(points);
        //set the value at Users to 0
        FirebaseDatabase.getInstance().getReference().child("Users").child(userUid).child("points").setValue(0);
    }
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});

你可以这样做,你从第25点得到值,然后,将值设置为wfinal你在你这边做了什么吗?@Md.Asaduzzaman特别感谢你回答我的问题,我已经成功地实现了这个方法。这回答了你的问题吗?非常感谢你回答我的问题,我已经成功实现了我喜欢这种方法。