我熟悉firestore,但不确定如何从实时数据库中获取值。这是我下面的数据库 data base image
如您所见,我有UID,在该UID下存储了多个文档引用。这是我的工作方式:
firebaseDatabase.getReference(firebaseAuth.getCurrentUser().getUid()).push().setValue(documentReference.getPath());
我想在UID下获取整个文档引用,并将其存储在数组列表中,或者仅遍历每个文档引用。谢谢
答案 0 :(得分:0)
尝试以下。
DatabaseReference mDatabaseRef = FirebaseDatabase.getInstance().getReference(firebaseAuth.getCurrentUser().getUid());
ArrayList<String> docRefList =new ArrayList<>();
mDatabaseRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
String docRef = postSnapshot.getValue(String.class);
docRefList.add(docRef);
}
}
@Override
public void onCancelled(DatabaseError error) {
Log.d(TAG, "Error Load");
}
});
请记住,onDataChange()是从Firebase DB读取的异步调用。因此,对于收到的数据进行任何后期处理,都必须等到数据读取完成。