0
我對於異步編程非常陌生,我對如何在給定唯一ID的情況下檢索Java對象感到困惑。我遵循Firebase網站上關於構建和讀取數據的示例,但我不確定如何在不檢索整個列表的情況下檢索特定對象。我已經看到人們檢索整個列表並遍歷它直到找到正確的對象,但是我覺得這是非常低效的並且不是理想的方法。從給出UID的Firebase中檢索Java對象
我的火力數據庫結構
{
"chats" : {
"defcon69" : {
"chatMembers" : {
"abc con" : true,
"rGmgSVGcq4WE6kehY4HH5z7ntIQ2" : true
},
"chatMessages" : {
"-KmYAcmmvmSfMrOYnAtR" : "-KmYAcmmvmSfMrOYnAtR",
"-KmYAmNmjWExC1gcCuF8" : "-KmYAmNmjWExC1gcCuF8",
"-KmZuNNG6lZCn_HeA1aq" : "-KmZuNNG6lZCn_HeA1aq"
},
"chatName" : "FLT",
"chatText" : "hey ",
"chatTime" : 1497415382731,
"chatUUID" : "defcon69"
}
},
"messages" : {
"defcon69" : {
"-KmYAcmmvmSfMrOYnAtR" : {
"messageText" : "test",
"messageTime" : 1497386352516,
"messageUUID" : "-KmYAcmmvmSfMrOYnAtR",
"messageUser" : "con"
},
"-KmYAf3FKCzJyL8-3_9U" : {
"messageText" : "hey",
"messageTime" : 1497386361825,
"messageUUID" : "-KmYAf3FKCzJyL8-3_9U",
"messageUser" : "con"
}
}
}
我特別想給它的UID檢索消息對象。
Example of iterating through list
您已在您的問題中包含指向JSON樹圖片的鏈接。請用實際的JSON替換爲文本,您可以通過單擊[您的Firebase數據庫控制檯](https://console.firebase.google.com/project/_/database/data/)中的導出JSON鏈接輕鬆獲取該文本。 。將JSON作爲文本可以搜索,使我們能夠輕鬆使用它來測試您的實際數據,並將其用於我們的答案中,並且通常只是一件好事。 –
如果你發佈了一些你已經嘗試過的代碼,那也不錯。 Stack Overflow中有數百個[從Android查詢Firebase數據庫]的示例(https://stackoverflow.com/search?q=%5Bfirebase%5D%5Bandroid%5D+query)。看到你所嘗試過的東西,可以更容易地爲你困擾的地方提供幫助。 –
@FrankvanPuffelen我已經成功地使用了我提供的遍歷整個列表的示例,但是如果列表開始變得數千或數十萬的長度,這看起來非常低效。 – PleaseNoBugs