Как говорит откровенный, то, что вы делаете, правильно, поскольку вы указываете только на 1 значение внутри узла MyData.Это может быть хорошо, если вам нужно только получить это единственное значение, но если вы хотите получить все значения из объекта MyData, вы должны написать класс POJO, а затем получить значения с foreach, это выведет вас всехзначения из MyData
mDatabase = FirebaseDatabase.getInstance().getReference("MyData");
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DatasnapShot snapShot : dataSnapshot.getChildren())
MyData md = snapShot.getValue(MyData.class);
String dog = md.getDog(); //get dog name
String cat = md.getCat(); // get cat name
//And then just do a log to print or see those values
Log.e("DogAndCatName",""+dog+cat);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
, и вам понадобится только другой класс, который является вашим POJO с именем MyData.class
, при этом мы создаем объект MyData для доступа к каждому данным из этого объекта вваш запрос dataSnapshot.
public class MyData {
private String Dog;
private String Cat;
public MyData() {
}
public String getDog() {
return Dog;
}
public void setDog(String dog) {
Dog = dog;
}
public String getCat() {
return Cat;
}
public void setCat(String cat) {
Cat = cat;
}
}