首页 > 解决方案 > 如何从当前登录的用户获取数据

问题描述

Firebase 用户数据

运行应用程序后,它会显示另一个用户名而不是登录的用户...

databaseReference.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            // To get children count
            dataSnapshot.getChildren();

           // email = dataSnapshot.child("email").getValue().toString();
         //   gender = dataSnapshot.child("gender").getValue().toString();

            name = dataSnapshot.child("Nome").getValue().toString();

        }

标签: javaandroidfirebasefirebase-realtime-database

解决方案


您需要在检索数据时使用 userId,才能检索当前登录用户的数据。

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String userId = user.getUid();

然后你可以这样做:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Condutores").child(userId);
ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Log.i("Database", dataSnapshot.child("Nome").getValue(String.class));
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
})

添加对节点的引用userId,然后附加一个ValueEventListener并检索用户的数据。


推荐阅读