java如何从firebase实时数据库获取下一个子项的数据并在列表视图中显示
我正在开发一个音频圣训,现在我想将第一个键显示为一个类别,如Ramadan
,Zakat
等,在每个类别中,都会有很多音频圣训的标题和音频URL
这是数据库结构映像:
public void readHadiths(final DataStatus dataStatus){
mDbReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
hadiths.clear();
List<String> keys = new ArrayList<>();
for (DataSnapshot keyNode : dataSnapshot.getChildren()){
keys.add(keyNode.getKey());
String title = keyNode.child("title").getValue(String.class);
Hadith Hadits = keyNode.getValue(Hadith.class);
hadiths.add(Hadits);
Log.d("TAG", title);
}
dataStatus.DataLoaded(hadiths,keys);
}
# 1 楼答案
无法查询实际数据库结构以一次性获取所有
Hadith
对象,因为这些对象中的每一个都存在于单独的节点中。为了解决这个问题,我建议您通过减少节点数量来更改数据库结构,如下所示:现在,要查询斋月的所有圣训,请使用以下查询: