在我的应用程序中,我想编译一个arraylist,显示nameofEntry
[DESCRIBED BELOW]中的所有值。我的意思是" balso," " nairboh"等等。
我有参考资料:
DatabaseReference root = FirebaseDatabase.getInstance().getReference();
DatabaseReference users = root.child("Users");
DatabaseReference childRef = users.child(userID);
DatabaseReference childRefNameNode = childRef.child(nameOfEntry);
childRefNameNode.child(nameOfEntry).setValue(nameOfEntry);
// FETCH DATA
childRefNameNode.child(nameOfEntry).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String valueFromDB = dataSnapshot.getValue(String.class);
Log.i("Jimit", valueFromDB);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
但这仅取一个条目。我怎样才能获得更多参赛作品? [所有人]?
答案 0 :(得分:0)
您需要使用此代码段。您还没有使用任何 for循环来跨过您的孩子。
编辑: 此外,将您的数据库引用更新为:
//Updated ref
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users").child(userID);*
//add listener to updated ref
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//use the for loop here to step over each child and retrieve data
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()){
String valueFromDB = childSnapshot.getValue(String.class);
Log.i("Jimit", valueFromDB);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
如果有任何改变,请告诉我。