2
我使用火力地堡的Android,使涉及羣體 的應用程序,我有一個用推法推看起來像這樣在我火力的項目清單:火力地堡數據檢索
-Groups Joined:
~Unique Key: Group 1 Name
~Unique Key: Group 2 Name
我試圖檢索這個列表作爲我的android代碼中的Java列表。我需要能夠通過索引訪問組加入節點中的信息,而不是使用唯一密鑰,我正在使用此代碼。
Query groupsJoined = myUserRef.child("Groups Joined").orderByKey();
groupsJoined.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
// do some stuff once
groupNames = (ArrayList<String>) snapshot.getValue();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
代碼崩潰,因爲snapshot.getValue()返回一個map類型的對象。我沒有辦法訪問地圖的元素,因爲我沒有在android設備上存儲這些獨特的鍵,我不想。我怎樣才能獲得數據快照,以便我可以迭代並獲取組名,而無需使用唯一鍵?
你可以迭代一個'Map'的值 - 是不夠的?請參閱http://docs.oracle.com/javase/7/docs/api/java/util/Map.html#values()。 – stkent
組自然按鍵排序,因此這裏的查詢不是必需的。你試過什麼了?數據很容易迭代。特別考慮到getChildren()返回Iterable。另外,您可能想要添加小孩而不是單個值事件。 – Kato