簡體   English   中英

為什么我的 Firebase Firestore 數據未顯示在 android 中

[英]Why my Firebase firestore data is not showing in android

我正在開發一個任何人都可以列出他們的產品的應用程序。 我將數據存儲在嵌套集合中的 Firebase Firestore 現在我想檢索該數據並在我的主屏幕上顯示。 現在數據正在顯示,但問題是它僅在我使用相同的號碼登錄時顯示,我將該數據列出到 Firebase 但是當我嘗試使用另一個號碼登錄時,數據不顯示。 我希望向所有登錄該應用程序的人展示。 基本上我的應用程序就像 OLX 一樣,任何人都可以列出任何顯示給每個人的東西。

我檢索數據的代碼

  //CODE TO GET CURRENT ID OR USER
    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();

    //CODE TO GET THE DATA FROM FIREBASE

    DocumentReference uidRef =  firebaseFirestore.collection("listing_details").document(uid);
    CollectionReference roomDetailsRef = uidRef.collection("room_details");
    String doc_id = roomDetailsRef.document().getId();

    
    roomDetailsRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (QueryDocumentSnapshot document : task.getResult()) {
                    if (document != null) {
                        RoomsDetails obj = document.toObject(RoomsDetails.class);
                        roomsDetails.add(obj);
                    }
                }
                roomsAdapter.notifyDataSetChanged();
            } else {
                Log.d(TAG, task.getException().getMessage()); //Never ignore potential errors!
            }
        }
    });

在此處輸入圖像描述 在此處輸入圖像描述

您的路徑中有.document(uid) ,其中 UID 是當前登錄用戶的用戶 ID。當您使用另一個電話號碼時,這是一個不同的用戶。

如果您想從所有listing_details文檔中獲取room_details文檔,那么您可以使用Collection Group查詢,如下所示:

db.collectionGroup("room_details").get()
        .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
            @Override
            public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                // ... iterate over all docs and render
            }
        });

暫無
暫無

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

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