我剛開始學習安卓。我想知道是一種可以使用僅包含 HashMap 鍵和值的 firebase 檔案欄位填充 RecyclerView 的方法。對不起,如果我問錯了問題。我只想知道這是否可能?這是我的 firebase 的快照
請注意- 我知道如何將專案(我在地圖中存盤的)作為單獨的檔案存盤在集合中并制作 RecyclerView。目前,我僅使用此方法并填充 RecyclerView。但我不想將這些專案存盤為單獨的檔案。
這是所需的輸出所需的...所需的 reyclerview
public class ModelTrans{
Double RecentAmount;
String TransText;
String Transactionid;
@ServerTimestamp
Date date;
int img;
public ModelTrans() {
}
public ModelTrans(Double recentAmount, String transText, String transactionid, Date date, int img) {
RecentAmount = recentAmount;
Transtext = transText;
Transactionid = transactionid;
this.date = date;
this.img = img;
}
......other getter setters
}
uj5u.com熱心網友回復:
既然你說你已經將這些物件添加到一個集合中并且它起作用了,你也可以在檔案中做同樣的事情。您需要做的是創建一個指向該特定檔案的參考,然后閱讀它。
檔案的每個欄位都是一個型別的物件ModelTrans。要獲取該資料,您應該使用以下代碼行:
joinedContestRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Map<String, Object> map = document.getData();
//Iterate and get the data
} else {
Log.d(TAG, "No such document");
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
如您所見,我使用了DocumentSnapshot#getData()方法,該方法回傳 Map<String, Object> 型別的物件。您現在要做的是遍歷地圖并獲取其中的資料。您實際上只需要這些值。最后,只需將這些值添加到 List,然后將該 List 傳遞給配接器。這應該差不多了。
編輯:
你評論中的好觀點。我應該從一開始就添加它。
是的,就可以將多少資料放入單個檔案而言,存在一些限制。根據有關使用和限制的官方檔案:
檔案的最大大小:1 MiB(1,048,576 位元組)
如您所見,單個檔案中的資料總量限制為 1 MiB。因此請注意此限制,否則您的寫入可能會開始失敗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/336912.html
標籤:爪哇 安卓 火力基地 谷歌云平台 谷歌云firestore
上一篇:如何使用長值進行等于查詢?
下一篇:型別'Promise<QuerySnapshot<DocumentData>>'必須有一個回傳迭代器的'[Symbol.iterator]()
