【发布时间】:2017-05-04 09:52:44
【问题描述】:
我正在尝试将数据从我的数据库中的一个节点 (groups/groupId/matches) 添加到另一个节点 (users/userId/groups)
这个方法执行一次很完美,但是如果我第二次尝试执行我遇到麻烦,得到这个错误
com.google.firebase.database.DatabaseException:
Failed to convert value of type java.lang.String to boolean
从使用 Firebase 开始,我不明白 SetValue 您应该覆盖任何现有数据,我在我的应用程序中看到了这一点
只是不确定我的下一步行动,非常感谢任何帮助。
方法调用
moveFirebaseRecord(groupsDatabase.child(firebaseUser.getUid()).child("matches"),
usersDatabase.child(uId).child("groups"));
方法
public void moveFirebaseRecord(DatabaseReference fromPath, final DatabaseReference toPath) {
fromPath.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
toPath.setValue(dataSnapshot.getValue(), new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError != null) {
Toast.makeText(getApplicationContext(), "COPY FAILED", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "COPY SUCCESS", Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getApplicationContext(), "onCancelled- copy fail", Toast.LENGTH_LONG).show();
}
});
}
【问题讨论】:
标签: android firebase firebase-realtime-database