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