我对于为多个用户和多个针对Foods订单的android应用编写正确的评级查询存在问题。
这是Firebase数据,是json形式:
"Rating" : {
"1234555" : {
"14" : {
"comment" : "KKK",
"foodId" : "14",
"rateValue" : "4",
"userPhone" : "1234555"
}
}
}
“ 1234555”是用户ID,“ 14”是FoodId
private void getRatingFood(String foodId) {
Query foodRating=Ratings.child(foodId).orderByChild("foodId").equalTo(foodId);
foodRating.addValueEventListener(new ValueEventListener() {
int count=0,sum=0;
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot postSnapShot:dataSnapshot.getChildren()){
Rating item=postSnapShot.getValue(Rating.class);
sum+=Integer.parseInt(item.getRateValue());
count++;
}
if(count!=0){
float avg=sum/count;
ratingBar.setRating(avg);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
我认为我的Query语句是错误的,因为它无法访问内部属性。