我正在尝试在Firebase中更改子项,例如“用户”是子项,并具有不同的子项,例如“ user1”,“ user2”,“ user3”。
但是问题是,当新的用户安装的应用程序数据被先前的子项覆盖时,我的代码适用于单个应用程序。
代替使用.setValue(hashMap)使用.setValue(hashMap).push()
您可以检查用户是否已经存在,然后不要推送新用户。
databaseReference.child("User"+Integer.toString(i)).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(!dataSnapshot.exists()){
databaseReference.child("User"+Integer.toString(i)).setValue(hashMap);
}else{
// Don't create user. Start other activity or whatever you need to do
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
让我知道这是否对您有用
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句