У меня проблема с написанием правильного рейтингового запроса для нескольких пользователей и нескольких приложений для Android.
Это данные Firebase в форме json:
"Rating" : {
"1234555" : {
"14" : {
"comment" : "KKK",
"foodId" : "14",
"rateValue" : "4",
"userPhone" : "1234555"
}
}
}
"1234555" - это UserID, а "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) {
}
});
}
Я думаю, что мой запросоператор неверен, потому что не может получить доступ к внутренним атрибутам.