在Firebase数据库中获取当前用户详细信息

时间:2018-07-30 08:12:25

标签: java android firebase firebase-realtime-database

这是很直接的做法,但是我遇到了多个用户。当第一个用户登录时,他的名字和电子邮件都没有问题,但是当他退出登录而另一个用户登录(同一电话)时,当前用户详细信息返回null。

        FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
        String uid = Objects.requireNonNull(firebaseAuth.getCurrentUser()).getUid();
        userDetails = FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
        myref.keepSynced(true);
        userDetails.keepSynced(true);

        name = view.findViewById(R.id.my_name);
        mail = view.findViewById(R.id.my_mail);
        userDetails.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                String Name = dataSnapshot.child("name").getValue().toString();
                String Email = dataSnapshot.child("email").getValue().toString();

                name.setText(Name);
                mail.setText(Email);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

1 个答案:

答案 0 :(得分:0)

结果证明代码很好,唯一的问题是我的firebase结构。第一个用户“电子邮件”和“名称”为小写,其余用户以大写字母users node, firebase Image

开头
相关问题