簡體   English   中英

獲取當前用戶的詳細信息,即登錄 firebase 的用戶

[英]Get current user details i.e. the user which is logged in firebase

我正在開發一個應用程序,我必須在其中從 firebase UserNode 獲取當前用戶詳細信息。 就我而言,我想獲取當前用戶的名字和姓氏。 我成功獲取了所有用戶的列表,但是如何獲取當前登錄的用戶詳細信息。我使用此代碼獲取所有用戶,請指導我在此代碼中做什么以獲取當前登錄的用戶詳細信息

DatabaseReference DataRef;
    DataRef = FirebaseDatabase.getInstance().getReference().child("UserNode");

    DataRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
                String acctname = (String)childSnapshot.child("firstname").getValue();
                Log.i("name", acctname);
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.e("error", databaseError.getMessage());
        }
    });

要獲取特定用戶,您需要在DatabaseReference使用他的唯一標識符。 所以,你需要改變這一行:

DataRef = FirebaseDatabase.getInstance().getReference().child("UserNode");

FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
String uid = firebaseUser.getUid();
String uid = firebaseUser.getDisplayName(); //display the entire name
DataRef = FirebaseDatabase.getInstance().getReference().child("UserNode").child(uid);

請使用此代碼:

DataRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String acctname = childSnapshot.child("firstname").getValue(String.class);
        Log.i("name", acctname);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.e("error", databaseError.getMessage());
    }
});

試試這個希望它對你有幫助

 FirebaseAuth auth = FirebaseAuth.getInstance();
        FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
                if (firebaseUser != null) {
                    String userId = firebaseUser.getUid();
                    String userEmail = firebaseUser.getEmail();
                } 
            }
        };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM