我不断从Firebase数据库中获取旧值(不再在数据库中)。以下是数据库现在的样子:
我收到friendlist
下的信息。以前只有一个孩子使用键值集soosk: true
,但现在它看起来像在照片中。使用addListenerForSingleValueEvent()
到我的databaseRef
时,检索到的好友列表中只有soosk: true
。这是我的代码:
mFirebaseDatabaseReference = FirebaseDatabase
.getInstance()
.getReference(
"users/"+FirebaseAuth.getInstance().getCurrentUser().getUid()
);
mFirebaseDatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
Log.d(TAG, user.getFriendlist().toString());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 0 :(得分:1)
更新所有值时需要使用的方法是addValueEventListener()
。因为您需要侦听多个值,所以这是实现它并使用addListenerForSingleValueEvent()
的唯一方法。
最重要的是删除listener
方法中的onDestroy
,如下所示:
yourReference.removeEventListener(valueEventListener);