为了帮助您理解,我根据数据库参考的孩子提供了一个简单的键名和值的图像。
我正在寻找切换两个孩子的值+键
例如,Child 0有一个新的子项“keyOne”,其中键为“keyOne”,值为“valueOne”......等于子项1,2和3。
如何切换“0”和“1”的孩子?
通过切换孩子,我的意思是我想结束。
0 -> keyOne: valueOne
1 -> keyZero: valueZero
希望你们明白我的意思。如果你现在没有,我会给它最后一枪!
我正在寻找一个孩子的键+值组合与另一个孩子的键+值组合。
谢谢!
答案 0 :(得分:0)
假设currentMembers
节点是Firebase根目录的直接子节点,您的数据库如下所示:
要实现您的目标,请使用以下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference currentMembersRef = rootRef.child("currentMembers");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String valueZero = dataSnapshot.child("0").child("keyZero").getValue(String.class);
String valueOne = dataSnapshot.child("1").child("keyOne").getValue(String.class);
dataSnapshot.child("0").child("keyZero").getRef().setValue(valueOne);
dataSnapshot.child("1").child("keyOne").getRef().setValue(valueZero);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
currentMembersRef.addListenerForSingleValueEvent(valueEventListener);
结果将是: