Нет необходимости создавать новый объект класса RestaurantDetails
, потому что вы получаете его из базы данных. Чтобы решить эту проблему, используйте следующий код:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference restaurantsRef = rootRef.child("restaurants");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
RestaurantDetails restaurantDetails = ds.getValue(RestaurantDetails.class);
Log.d("TAG", restaurantDetails.getDescription());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
restaurantsRef.addListenerForSingleValueEvent(valueEventListener);
Вывод в вашем logcat будет:
Biryani,Chinese,North Indian,South India
Indian,Chines,Byran
Если вы хотите использовать класс String вместо RestaurantDetails, используйте следующий код:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference restaurantsRef = rootRef.child("restaurants");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String description = ds.child("description").getValue(String.class);
Log.d("TAG", description);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
restaurantsRef.addListenerForSingleValueEvent(valueEventListener);
Вывод будет таким же.