在firebase数据库中,我有一个名为userDetails的节点,用于存储与用户相关的数据。在android中,在获取当前用户数据时,它将首次返回正确的值。现在,当新用户登录再次注销后,它将返回以前的用户数据。这是我的代码:
mCurrentUser = FirebaseDatabase.getInstance().getReference("userDetails").child(FirebaseAuth.getInstance().getCurrentUser().getUid());
mCurrentUser.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot != null){
if (dataSnapshot.getKey().equals(FirebaseAuth.getInstance().getCurrentUser().getUid())) {
mUser = dataSnapshot.getValue(User.class);
if (mUser != null) {
}
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
在应用程序类中
@Override
public void onCreate() {
super.onCreate();
FirebaseDatabase.getInstance().setPersistenceEnabled(false);
}
任何人都可以帮助我弄清楚这个问题。
下面是我的数据库结构
-userDetails
- uid1
- name
- phone
etc.
- uid2
- name
- phone
etc.
- uid3
- name
- phone
etc.