Android 如何检索当前登录的用户数据,如联系人、电子邮件、姓名等

Android 如何检索当前登录的用户数据,如联系人、电子邮件、姓名等,android,google-cloud-firestore,firebase-authentication,Android,Google Cloud Firestore,Firebase Authentication,这是我的代码,我没有得到预期的输出 FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); String userKey = user.getUid(); Log.d("UID : ",""+userKey); DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("users").chil

这是我的代码,我没有得到预期的输出

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    String userKey = user.getUid();
    Log.d("UID : ",""+userKey);
    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("users").child(userKey);
    databaseReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            Log.v("temp","temp"); //for debugging
            for(DataSnapshot ds : dataSnapshot.getChildren())
            {
                Log.v("Contact : ",""+ds.child("contact").getValue());
            }
        }

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

        }
    });

您向我们展示了一个云Firestore schmea,但您使用的代码从实时数据库获取数据。要解决此问题,应使用以下代码:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference usersRef = rootRef.collection("users");
DocumentReference uidRef = usersRef.document(uid);
uidRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                String firstname = document.getString("firstname");
                String lastname = document.getString("lastname");
                String monthlybudget = document.getString("monthlybudget");
                String emailid = document.getString("emailID");
                String contact = document.getString("contact");
                Log.d(TAG, firstname + "/" + lastname + "/" + monthlybudget + "/" + emailid + "/" + contact);
            }
        }
    }
});
Vicky/Gupta/2500/vicky@gmail.com/8879835947