簡體   English   中英

在 Firestore 中獲取 ArrayList - Android

[英]Get ArrayList in Firestore - Android

我正在創建一個 Android 應用程序,該應用程序需要訪問其中包含 ArrayList 的文檔。

我看了一下這個鏈接檢查這個堆棧溢出答案。

我盡我所能。 這家伙甚至給出了我們應該做的答案(ArrayList<String>) documentSnapshot.get("key") 我嘗試這樣做,但是當我這樣做時,我從 Android Studio: Unchecked cast: 'java.lang.Object' to 'java.util.ArrayList<java.lang.String>'收到此錯誤。 它還要求我生成我的 class。

這是我的 Firestore 結構。

這是我的 Firestore 結構。

這是我到目前為止的代碼:

DocumentReference docRef = firestore.collection("Users").document(fullMobile);
                docRef.get().addOnCompleteListener(task -> {
                    if (task.isSuccessful()) {
                        DocumentSnapshot document = task.getResult();
                        assert document != null;
                        // Data from FireStore
                        ArrayList<String> devices = (ArrayList<String>) document.get("Devices"); ----- This is the line which is wrong.
                        if (document.exists()) { // LOGIN
                            // Some Code
                        } else { // SIGNUP
                           // Some Code
                        }
                    } else {
                        toast("An Error Occured! Please Try Again");
                    }
                });

我不知道該怎么辦知道。 有人可以幫幫我嗎?

如果您的文檔包含數據數組,則創建 arraylist 然后添加項目。

ArrayList<String> devices = new ArrayList<>();
devices.add(document.get("Devices"));

如果您的文檔包含自定義 object(模型類),請使用相同的 model class 將其取回。

 for (DocumentSnapshot document : snapshots.getDocuments()) {
            String documentkey = document.getId();
             UsedCarDetailsModel usedCarDetailsModel = document.toObject(UsedCarDetailsModel.class);
             documentList.add(usedCarDetailsModel);

        }

如果您是初學者,只需將 cursor 放在警告文本上,然后按 Alt+Enter,Android 工作室將顯示可用選項來投射您的文檔。 選擇適合您的。

暫無
暫無

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

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