我在下面有一個Firebase數據庫結構。我如何獲得room_name_public
的價值?我想檢索所有這些值並在列表視圖中顯示它。這裏,55aqdTkLPrMwB6H0KX4Z0RUe6s52
是一個Firebase用戶標識,-KcqR5Db5BidD0XpQ1z1
是由push()
函數創建的。如何獲取Firebase數據庫中的所有嵌套子數據?
回答
好吧,你可以試試這種方式。
創建一個普通對象,像這樣:
public class Room {
String room_name_pucblic;
public Room() {
}
public Room(String room_name_pucblic) {
this.room_name_pucblic = room_name_pucblic;
}
public String getRoom_name_pucblic() {
return room_name_pucblic;
}
@Exclude
public Map<String, Object> toMap() {
HashMap<String, Object> result = new HashMap<>();
result.put("room_name_pucblic", room_name_pucblic);
return result;
}
}
接着,在活動或片段,聲明和定義監聽器:
ValueEventListener roomsValueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userDataSnapshot : dataSnapshot.getChildren()) {
if (userDataSnapshot != null) {
for (DataSnapshot roomDataSnapshot : userDataSnapshot.getChildren()) {
Room room = roomDataSnapshot.getValue(Room.class);
yourList.add(room.getRoom_name_pucblic());
yourAdapter.notifyDataSetChanged();
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mFirebaseDatabaseReference.addListenerForSingleValueEvent(roomsValueEventListener);
我假定mFirebaseDatabaseReference
是的火力參考您的public_rooms
節點。 yourList
是連接到列表視圖的適配器的字符串ArrayList。
希望這有助於
更新
如果你想獲取用戶的房間,知道的用戶id,你必須編輯以這種方式以前的做法:
ValueEventListener roomsValueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot roomDataSnapshot : dataSnapshot.getChildren()) {
Room room = roomDataSnapshot.getValue(Room.class);
yourList.add(room.getRoom_name_pucblic());
yourAdapter.notifyDataSetChanged();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
mFirebaseDatabaseReference.child(userId).addListenerForSingleValueEvent(roomsValueEventListener);
的所有節點,以及如果我想根據用戶提取房間(55aqdTkLPrMwB6H0KX4Z0RUe6s52)userID,該怎麼辦? – TheSwiftGuy77
看到我的更新,它應該也工作 –
更新dint的工作,我的數據庫引用有點像這樣,String userID = FirebaseAuth.getInstance()。getCurrentUser()。getUid(); mDatabase = FirebaseDatabase.getInstance()。getReference()。child(userID); – TheSwiftGuy77
- 1. Firebase數據庫獲取所有孩子
- 2. 獲取Firebase數據庫的所有子女的數據
- 3. 如何檢索嵌套的Firebase數據庫中的所有數據
- 4. 如何在Firebase數據庫中獲取所有孩子的數據?
- 5. 如何在Firebase數據庫中獲取嵌套對象
- 6. 如何從Firebase數據庫獲取嵌套信息
- 7. 如何使用python獲取嵌套位置的firebase數據庫數據?
- 8. 如何獲取Firebase數據庫中的所有值
- 9. 如何僅從Firebase數據庫獲取更新的子數據?
- 10. 無法使用地圖獲取Firebase數據庫中的所有子數據?
- 11. 獲取Firebase列中的所有數據
- 12. 在Firebase數據庫中嵌套星星
- 13. 如何從Firebase數據庫獲取數據到離子?
- 14. 如何使用Firebase數據庫插件從參考中獲取所有數據
- 15. 當孩子從表嵌套時如何獲取firebase中的數據
- 16. 如何從數據庫中的所有表中獲取數據
- 17. 如何從firebase數據庫中獲取子女總數
- 18. TableView嵌套的Firebase數據
- 19. Firebase獲取節點的所有數據
- 20. C#如何獲取Oracle數據庫中的所有數據
- 21. 檢索嵌套鍵Firebase數據庫
- 22. Firebase數據庫如何根據子值獲取節點?
- 23. 如何在Firebase數據庫中獲取子條目的SUM
- 24. Firebase數據庫獲取數據?
- 25. Firebase數據庫WEB獲取JSON數據
- 26. NHibernate:獲取所有數據庫表中的所有數據
- 27. 如何在我的Firebase數據庫中保存嵌套對象
- 28. 如何從數據庫中獲取所有用戶數據?
- 29. 如何從數據庫中獲取所有數據?
- 30. 如何從Firebase數據庫中獲取排序數據?
你想他們「每個用戶」?也就是說,您想要爲給定的用戶顯示關鍵字「room_name_pucblic」的所有值,對嗎? –
好,所以你想要「public_rooms」節點的所有子節點,對吧? –
是「public_rooms」 – TheSwiftGuy77