簡體   English   中英

如何從Firebase實時數據庫獲取所有子值並將其存儲在數組列表中

[英]How to get all child values from firebase realtime database and store it in an array list

我熟悉Firestore,但不確定如何從實時數據庫中獲取值。 這是我的數據庫下面的數據庫圖像

如您所見,我有一個UID,在其中存儲了多個文檔引用。 這是我的做法:

           firebaseDatabase.getReference(firebaseAuth.getCurrentUser().getUid()).push().setValue(documentReference.getPath());

我想在UID下獲取整個文檔引用,並將其存儲在數組列表中,或者僅遍歷每個文檔引用。 謝謝

請嘗試以下。

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讀取的異步調用。 因此,對於您收到的數據的任何后期處理,您都必須等待數據讀取完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM