【问题标题】:How to get all child values from firebase realtime database and store it in an array list如何从firebase实时数据库中获取所有子值并将其存储在数组列表中
【发布时间】:2019-12-05 09:05:40
【问题描述】:

我熟悉 firestore,但不确定如何从实时数据库中获取值。这是我下面的数据库 data base image

如您所见,我有 UID,在该 UID 下存储了多个文档引用。我是怎么做的:

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

我想获取 UID 下的整个文档引用并将其存储在数组列表中,或者只是遍历每个文档引用。谢谢

【问题讨论】:

    标签: java android firebase firebase-realtime-database google-cloud-firestore


    【解决方案1】:

    试试下面。

    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 读取的异步调用。因此,对收到的数据进行任何后期处理,都必须等到数据读取完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 2017-04-21
      • 2021-11-04
      • 2019-12-20
      • 2019-03-16
      • 2017-05-09
      • 1970-01-01
      相关资源
      最近更新 更多