我正在创建一个Android应用来下订单,所以我无法在实时数据库中访问孩子的物品,如何将它们作为列表或单独获取?
每当我尝试某事时,应用程序就会自动关闭,所以我知道那里出了问题
答案 0 :(得分:3)
您可以使用 addValueEventListener()函数获取数据作为快照。这样,您可以迭代快照数据并添加到阵列列表中。以下是我从参考中获取数据的一些示例
private void readUsers() {
final List<User> mUsers= new ArrayList<>();
final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
mUsers.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
User user = snapshot.getValue(User.class);
assert user != null;
assert firebaseUser != null;
if (!user.getId().equals(firebaseUser.getUid())) {
mUsers.add(user);
}
}
userAdaptor = new UserAdaptor(getContext(), mUsers, false);
recyclerView.setAdapter(userAdaptor);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}