Firebase数据库返回错误的数据

时间:2018-08-24 13:20:20

标签: android firebase firebase-realtime-database android-filterable

在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.

0 个答案:

没有答案