Android - Firebase |阅读所有的子数据
我有这样的数据库Android - Firebase |阅读所有的子数据
大,中,小可以有任何数量的孩子(abc,xyz等)。我想读一个给定节点的所有孩子(比如小)。
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("small");
// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
Log.i("Info","Data changed"+Long.toString(dataSnapshot.getChildrenCount()));
for (DataSnapshot dis : dataSnapshot.getChildren()) {
for (DataSnapshot vers : dis.getChildren()) {
String value = vers.getValue(String.class);
Log.d("debug", "Value is: " + value);
toaster(value);
}
}
}
但是我没有输出。我无法想象如何遍历这些数据。
请帮
为了解决这个问题,你需要改变这一行:
DatabaseReference myRef = database.getReference("small");
与
DatabaseReference myRef = database.getReference().child("Small");
这将解决您的问题。
我很抱歉,但没有奏效。 “小”可以有孩子,反过来可以有很多孩子。我想获得这些值 –
当我再次阅读你的代码时,我得到了错误。请看我更新的答案。它应该是:'database.getReference()。child(“Small”);'它工作吗? –
我做了改变,但仍然没有输出。并且getChildren计数返回0! –
你的代码使用'small',数据库有'Small'。由于Firebase区分大小写,因此两个字符串并不相同。如果您在代码中使用相同的大小写,它将起作用。投票结束为错字。 –