我正在使用Kotlin将Firebase Realtime Database用于我的Android应用程序。
我具有以下格式的JSON。
{
"main1": {
"branch1": [
{
"a": "Test1",
"b": "Test2"
},
{
"a": "Test3",
"b": "Test4"
}
],
"branch2": [
{
"a": "Test5",
"b": "Test6"
},
{
"a": "Test7",
"b": "Test8"
}
]
}
}
我想获得一个以上孩子的结果,并将其显示在“回收者”视图中。
当前,我只能使用以下代码填充一个孩子。
FirebaseDatabase.getInstance().getReference().child("main1").child("branch1")
但是我找不到查询来获取branch1和branch2的组合结果。我也可以将main2与branch3和branch4一起使用。
如何将它们作为单个输出输出,以在RecyclerView上显示多个子项。
答案 0 :(得分:0)
没有一种方法可以执行查询并一次性获得所有这些对象。但是,有一种解决方法,您可以通过减少子代数来对数据库结构进行一些更改。因此,请检查以下架构:
{
"main1": {
{
"a": "Test1",
"b": "Test2",
"branch1": true
},
{
"a": "Test3",
"b": "Test4"
"branch1": true
},
{
"a": "Test5",
"b": "Test6"
"branch2": true
},
{
"a": "Test7",
"b": "Test8"
"branch2": true
}
}
}
如果要获取所有对象,只需使用以下参考:
FirebaseDatabase.getInstance().getReference().child("main1");
如果要获取类型为branch1
的所有对象,请使用以下查询:
FirebaseDatabase.getInstance().getReference().child("main1")
.orderByChild("branch1")
.equalTo(true);