【发布时间】:2016-03-19 23:41:33
【问题描述】:
在我目前正在开发的 Firebase Android 应用中,我想提供一个导出功能。此功能应允许用户导出一组存储在 Firebase 中的数据。
我的计划是将所有需要的数据收集到一个可以(重新)用于多种导出类型的中间对象(数据结构)中。
我遇到的问题是,由于我使用的是平面 Firebase 数据结构(如 https://www.firebase.com/docs/android/guide/structuring-data.html 中所述),很难知道何时收集了导出所需的所有数据。
示例:在检索使用“索引”(名称:键,值 true)引用的所有对象时,我为每个对象设置了一个 addListenerForSingleValueEvent 侦听器,但因为它返回异步,所以无法确定所有检索索引。这样就无法确定开始导出的正确时间。
谁有应对此问题的最佳实践?
【问题讨论】:
-
一种方法是对您开始加载的索引进行计数,并在返回时递减。当你达到 0 时,你就完成了。
-
您要将此数据导出到平面 ascii 文件吗?
-
@Jay 不,不是在这种情况下,但可能在未来的应用程序中。为什么要问?
-
@FrankvanPuffelen,我目前正在研究这种方法。一旦我有一些工作,我会发布一个小代码示例。
标签: asynchronous firebase firebase-realtime-database