gpt4 book ai didi

java - Android Firebase 实时数据库 orderByChild 不起作用

转载 作者:行者123 更新时间:2023-12-02 08:42:59 25 4
gpt4 key购买 nike

我尝试使用 orderByChild() 按平均评分对餐厅进行排序,但不是通过按平均评分对餐厅进行排序来返回它们,但事实并非如此。

这是我的代码:

public void filterQuality(){

DatabaseReference mRatingDb = FirebaseDatabase.getInstance().getReference();

Query topQualityQuery = mRatingDb.orderByChild("Average");
topQualityQuery.addListenerForSingleValueEvent(new ValueEventListener()
{

@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Map <String, Double> topQualityMap = new HashMap<>();
List list = new ArrayList();
List list2 = new ArrayList();

for (DataSnapshot ds: dataSnapshot.getChildren()){

topQualityMap.put(ds.getKey(), ds.child("Quality").child("Average").getValue(double.class));
list.add(ds.child("Quality").child("Average").getValue(double.class));
list2.add(ds.getKey());

Log.d("Top Quality", "Value" + topQualityMap);
Log.d("Top Quality", "Value" + list);
Log.d("Top Quality", "Value" + list2);
}

}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});

}

这是我从我尝试调试的 map 和列表中得到的结果:

值[3.0]

超值[纽卡斯尔茱莉斯酒店]

值(value){马尔马逊纽卡斯尔=2.0,茱莉斯纽卡斯尔酒店=3.0}

D/顶级质量:值(value) [3.0、2.0]

D/顶级品质:值(value) [纽卡斯尔茱莉斯酒店、纽卡斯尔马尔马逊酒店]

D/顶级品质:超值{纽卡斯尔马尔马逊酒店=2.0、纽卡斯尔茱莉斯酒店=3.0、纽卡斯尔乡村酒店=4.0}

值[3.0、2.0、4.0]

值(value)[纽卡斯尔茱莉斯酒店、纽卡斯尔马尔马逊酒店、纽卡斯尔乡村酒店]

这是我的火力点:

Firebase Check my update Firebase

如果有人知道为什么这不能正常工作,请帮忙。谢谢。

最佳答案

您需要指定要订购的值的完整路径。

所以:

DatabaseReference mRatingDb = FirebaseDatabase.getInstance().getReference();

Query topQualityQuery = mRatingDb.orderByChild("Quality/Average");
topQualityQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds: dataSnapshot.getChildren()){
Log.i("Firebase", ds.getKey()+": "+ ds.child("Quality/Average").getValue(double.class));
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException(); // NEVER ignore errors
}
});

关于java - Android Firebase 实时数据库 orderByChild 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61259076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com