[英]How To Get Data From Array in Firestore Collection Android Java
我想從 Firestore 集合中的 map 數組中獲取數據。 我附上一張圖片以更好地理解我的問題,我想以紅色獲取數據,而黃色是數組,藍色是 Map。 嘗試了很多東西,但沒有工作。 任何幫助將不勝感激。 提前致謝。
是的,以黃色突出顯示的字段是一個數組。 如果您想讀取數組中的第一個元素,基本上是存在於索引 0 處的 object,那么您應該創建一個指向該特定文檔的引用,進行 get() 調用並附加一個偵聽器來讀取數據。 如果您需要將 map 數組中的元素轉換為 object 的特定 class,那么您應該創建兩個如下所示的類:
class Game {
public int added, id;
public String name, slug;
public Game() {}
public Game(int added, int id, String name, String slug) {
this.added = added;
this.id = id;
this.name = name;
this.slug = slug;
}
}
和:
class Document {
public List<Game> games;
}
並執行 Firestore 調用:
db.collection("Home_New2").document("7ZEshkdgUIInTXo9H9Cv").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
Document document = task.getResult().toObject(Document.class);
if (document != null) {
Game firstGame = document.games.get(0);
Log.d(TAG, firstGame.added + " / " + firstGame.id + " / " + firstGame.name + " / " + firstGame.slug);
}
} else {
Log.d("TAG", "Failer with: ", task.getException());
}
}
});
logcat 中的結果將是:
7676 / 3387 / Bloodborne / bloodborne
有關更多詳細信息,我建議您查看以下資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.