簡體   English   中英

如何在 Android Studio 中從實時 Firebase 中檢索特定用戶

[英]How to retrieve specific user from realtime Firebase in Android Studio

您好,我目前正在做咨詢師和用戶之間的約會聊天應用程序。

圖像是實時 Firebase 的屏幕截圖。 https://i.stack.imgur.com/kQG8x.png

所以我在輔導員接​​受用戶的預約后嘗試做聊天功能。 但是,就我而言,它會檢索所有輔導員信息,包括不接受預訂的輔導員。 每個顧問的屏幕截圖都出現在我的列表中 我想只顯示“瑪麗”,因為她是唯一接受預約的人,但是根據圖片,它顯示了瑪麗和法拉。 如果有人可以幫助我,我將不勝感激。 謝謝你。

以下是顯示每個輔導員的代碼。

private void displayData(){
    FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
    DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Counsellors");
    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            //mUsers.clear();
            for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                Counsellors counsellor = snapshot.getValue(Counsellors.class);
                if (counsellor!=null && counsellor.getId()!= null && !counsellor.getId().equals(firebaseUser.getUid())){
                    mUsers.add(counsellor);
                }

                userAdapter = new UserAdapter(getContext(),mUsers);
                recyclerView.setAdapter(userAdapter);
            }
        }

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

        }
    });
}

我的實時 Firebase 的 JSON 片段(約會、輔導員、用戶和聊天)

 { "Appointment" : { "-Mo69loW59iUHIMNfLOf" : { "date" : "11/26/21", "idDoctor" : "M8EUBl4vRubeW8iS92HiVIuY4rJ2", "idPatient" : "4WJh1MmoEfN4sqNaJrqbHhNFjxr1", "status" : "Accepted", "time" : "16:06" } }, "Chat" : { "-Mo6A8oY1Kt_ni71IlGN" : { "message" : "helo ", "receiver" : "4WJh1MmoEfN4sqNaJrqbHhNFjxr1", "sender" : "M8EUBl4vRubeW8iS92HiVIuY4rJ2" } }, "Counsellors" : { "M8EUBl4vRubeW8iS92HiVIuY4rJ2" : { "email" : "mary@gmail.com", "id" : "M8EUBl4vRubeW8iS92HiVIuY4rJ2", "name" : "mary", "specialist" : "family mental health" }, "v5FgbL4GuLeOE9ySVe7tgVFEk5D2" : { "email" : "farah24@gmail.com", "id" : "v5FgbL4GuLeOE9ySVe7tgVFEk5D2", "name" : "farah", "specialist" : "anxiety" } }, "Users" : { "4WJh1MmoEfN4sqNaJrqbHhNFjxr1" : { "email" : "jett24@gmail.com", "id" : "4WJh1MmoEfN4sqNaJrqbHhNFjxr1", "matric" : "BI18110293", "name" : "jett" } } }

首先,根據我使用 Firebase 的經驗,我建議您將所有數據從實時數據庫遷移到 Firestore 數據庫。 實時僅用於聊天目的。

這是這兩個數據庫之間區別的文檔: RTDB vs Firestore

第二件事是如果您需要幫助,請發布代碼片段以查看代碼是否有問題。 從文本中,我們無法幫助您在項目中進行修復。

暫無
暫無

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

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