当前位置: 首页 > 知识库问答 >
问题:

从Firebase异步收集数据:数据集何时完成?

仉伟兆
2023-03-14

在我目前正在开发的Firebase Android应用程序中,我想提供一个导出特性。这个特性应该允许用户导出一组存储在Firebase中的数据。

我的计划是将所有需要的数据收集到一个中间对象(datastructure)中,该对象可以(重新)用于多种导出类型。

谁有应对这一问题的最佳做法?

共有1个答案

戚奇略
2023-03-14

发布这篇文章是为了展示@frankvanpuffelen评论的一个例子,这个例子似乎很好地完成了这项工作:

@Override
public void onDataChange(DataSnapshot indexListDataSnapshot) {
    final long participantsRequired = indexListDataSnapshot.getChildrenCount();

    for (DataSnapshot ds : indexListDataSnapshot.getChildren()) {
        DataUtil.getParticipantByKey( mEventKey, ds.getKey() ).addListenerForSingleValueEvent( new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Participant p = dataSnapshot.getValue(Participant.class);
                mParticipants.add( p );

                if (participantsRequired == mParticipants.size()){
                    executeExport();
                }
            }

            @Override
            public void onCancelled(FirebaseError firebaseError) {
                mListener.onDataLoadFailure( firebaseError.toException() );
            }
        });
    }
}
 类似资料:
  • 我想从Firebase Firestore数据库中获取数据。我有一个名为user的集合,每个用户都有一些相同类型的对象(我的Java自定义对象)的集合。我想在创建活动时用这些对象填充ArrayList。 在创建()中: 调用方法以获取要列出的项:

  • 我的Ionic 5应用程序中有以下Firestore数据库结构。 书(集合) {bookID}(带有book字段的文档) 赞(子集合) {userID}(文档名称作为带有字段的用户ID) 集合中有文档,每个文档都有一个子集合。Like collection的文档名是喜欢这本书的用户ID。 我正在尝试进行查询以获取最新的,同时尝试从子集合中获取文档以检查我是否喜欢它。 我在这里做的是用每个图书ID调

  • Scrapy提供了方便的收集数据的机制。数据以key/value方式存储,值大多是计数值。 该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 stats 来使用。在下面的章节 常见数据收集器使用方法 将给出例子来说明。 无论数据收集(stats collection)开启或者关闭,数据收集器永远都是可用的。 因此您可以import进自己的模块并使用其

  • 从Chromium的内容模块收集跟踪数据,以发现性能瓶颈和缓慢的操作 进程: 主进程​ 这个模块不具备web接口,需要我们在chrome浏览器中添加 chrome://tracing/ 来加载生成结果文件. 注意该模块应当在 ready事件之后使用. 1 const {contentTracing} = require('electron') 2 const options = { 3 categ

  • 我正在使用一个表在Jaspersoft Studio 5.6.1中创建简单的报告。 通过 JRBeanCollectionDataSource 从 Java 向此报告发送数据。 在报告中,我已经可以获取此数据 vie 字段:报告- 现在我可以显示输入的数据了。 但如果我想在表中执行,我需要创建数据集(为什么?)并选择“使用用于填充主报告的相同连接”。将相同的字段添加到新数据集没有帮助,也没有为数据