Android 中的嵌套 Firestore 异步侦听器

2023-12-01

因此,我在几天的集合中有活动文档,我需要将所有活动合并到一个列表中。我认为我应该循环集合,然后循环活动,最后得到下面的代码,我不知道这是否是组合多个集合的最佳方法。更糟糕的是,我不知道我的列表何时准备好用于所有异步调用。 有什么建议吗?谢谢!

db.collection("calendar").get()
        .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {
                    for (DocumentSnapshot ds : task.getResult().getDocuments()) {
                        ds.getReference().collection("thingstodo").get()
                                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                                    @Override
                                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                                        for (DocumentSnapshot ds : task.getResult().getDocuments()) {
                                            ScheduledItem item = ds.toObject(ScheduledItem.class);
                                            itemsList.add(item);
                                        }

                                    }
                                });

                    }
            }
        });

The get()你正在使用的方法收藏参考(它是 Query 的子类)返回一个Task当文档准备好后,这个问题就解决了。不要向单个任务添加侦听器,而是将所有任务收集到一个列表中,并将其传递给任务.whenAllComplete()当整组完成时做出回应。然后,您可以根据需要检查所有任务的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中的嵌套 Firestore 异步侦听器 的相关文章

  • Firebase Analytics 禁用受众国家/地区跟踪

    我正在开发一个严格不允许位置跟踪的应用程序 我想使用 Firebase Analytic 的其他功能 例如 PageTransitions 和 Crashalitics 但如果我无法禁用受众位置跟踪 我就无法使用其中任何功能 这是我在 An
  • 如何将安卓手机从睡眠状态唤醒?

    如何以编程方式将 Android 手机从睡眠状态唤醒 挂起至内存 我不想获取任何唤醒锁 这意味着手机在禁用 CPU 的情况下进入 真正的 睡眠状态 我想我可以使用某种RTC 实时时钟 机制 有人有例子吗 Thanks 为了让Activity
  • KitKat(及更低版本)设备上的 Android Material Design

    我将在我们学校开发一个 Android 应用程序作为一个项目 我想使用 Google 的新 Material Design 但我知道它仅适用于 Android L 设备 Jack Underwood 最近发布了名为 Today Calend
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • 从 Firebase 数据库填充微调器

    public class MainActivity extends AppCompatActivity DatabaseReference reference Spinner areaSpinner ArrayList
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • Android:有没有办法以毫安为单位获取设备的电池容量?

    我想获取设备的电池容量来进行一些电池消耗计算 是否可以以某种方式获取它 例如 三星 Galaxy Note 2 的电池容量为 3100mAh 谢谢你的帮助 知道了 在 SDK 中无法直接找到任何内容 但可以使用反射来完成 这是工作代码 pu
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想
  • 在 Android 中,如何将字符串从 Activity 传递到 Service?

    任何人都可以告诉如何将字符串或整数从活动传递到服务 我试图传递一个整数 setpossition 4 但它不需要 启动时总是需要 0 Service 我不知道为什么我不能通过使用 Service 实例从 Activity 进行操作 publ
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项
  • 在 Google 地图上绘制线条/路径

    我很长一段时间都在忙于寻找如何在 HelloMapView 中的地图上的两个 GPS 点之间画一条线 但没有运气 谁能告诉我该怎么做 假设我使用扩展 MapView 的 HelloMapView 我需要使用叠加层吗 如果是这样 我是否必须重

随机推荐

  • Windows IoT Raspberry Pi 3 c# 创建.txt 文件

    我正在使用带有 Win IoT 的 Raspberry Pi 3 我正在尝试创建一个以数据和时间作为文件名的 txt 文件 但是 我似乎无法创建 txt 文件 我正在通过按按钮生成 log txt 文件进行测试 按下按钮后 没有错误消息 当
  • FtpWebRequest 使用进度条进行 FTP 下载

    我的代码有效 但是ProgressBar直接跳到100 然后继续下载 当它完成后 就会出现一个消息框来获取信息 我已经改变了缓冲区大小 但这并不重要 我在这里做错了什么 这是我的代码 void workerDOWN DoWork objec
  • 如何从 ItemTemplate XAML 绑定到 HierarchicalDataTemplate 的 DataContext?

    在我的 WPF TreeView 中 我定义了一个HierarchicalDataTemplate 在其ItemTemplate 有一个按钮 其Command我需要绑定到父 ViewModel 这是DataContext父母的Hierarc
  • 2017 年使用 IBDesignable 绘制虚线(不是虚线!)

    很容易画出一个dashed与 UIKit 一致 所以 CGFloat dashes 4 2 path setLineDash dashes count 2 phase 0 path stroke 有什么办法可以画出真正的虚线吗 将线帽样式设
  • 为什么 Java 允许将字符串文字分配给 String 对象?

    String是java中的一个类 在声明和分配字符串时 正确的说法是字符串名称 Paul 虽然要从 java 类实例化对象 但我们这样做字符串名称 new String 以名字作为对象 我想知道为什么我们可以将一系列字符 Paul 分配给该
  • OpenID 用户验证如何工作?

    嗯 我正在尝试实现 Steam OpenID 登录到网站 但我不太确定它是如何完成的以及 Steam 如何验证使用 OpenID 登录的用户 至于现在我发现的是 steam 只返回用户 ID 没有返回任何其他内容 因此对于其余的事情 我必须
  • PyQT - 设置 QTabWidget 的文本颜色

    有没有办法设置 QTabWidget 中某个选项卡的文本颜色 QTabBar似乎有一种设置选项卡文本颜色的方法 但我没有看到类似的方法QTabWidget 选项卡文本颜色可以通过选项卡小部件设置tabBar method tabwidget
  • 计算和操作文本文件中的出现次数 (Perl)

    我有一个制表符分隔的文本文件 就像 1J L 0 5 1J P 0 4 1J K 0 2 1J L 0 3 1B K 0 7 1B L 0 2 1B P 0 3 1B L 0 6 1B L 0 3 我想操纵它以获得以下信息 对于第一列中的每
  • 如何使用 PHP 删除包含内容的文件夹[重复]

    这个问题在这里已经有答案了 我需要使用 PHP 删除包含内容的文件夹 rmdir and unlink 删除空文件夹 但无法删除有内容的文件夹 此功能将允许您删除任何文件夹 只要它是可写的 及其文件和子目录 function Delete
  • 实体框架代码优先:使用属性进行自定义映射?

    In 斯科特 古的文章 他使用 OnModelCreating 方法来定义模式映射 我想知道实体框架是否有一些现有功能允许我们通过属性进行映射 例如 Dinner那篇文章中提到的类可能是这样的 MapTable tblDinner publ
  • 如果数据元素的顺序不同,空手道比赛失败

    我正在尝试验证一个 Xml 响应 其中一个父元素具有多个具有相同标签但文本内容不同的子元素 如下所示 Scenario test Given def expectation
  • 自定义 .NET 序列化似乎不起作用

    我在用BinaryFormatter序列化类的对象集合A存储在一个System Collections Generic List
  • WP8 如何创建基页并使用它

    我用谷歌搜索过 但没有得到任何有用的资源 所以我决定询问 问题 我有一个Windows Phone 8 C XAML NET 4 5 应用程序 这将有几页 15 50 那是所有这些都将具有相似的外观 设置为 ViewModel 的一个实例的
  • 如何在运行时更改按钮的背景图像?

    我遇到了一个问题 我想在运行时更改按钮的背景图像 我找到了更改颜色的解决方案 但我想更改图像 代码如下 public void buttonCase object sender RoutedEventArgs e Uri uri null
  • 使用自制程序安装 pygame

    我正在尝试使用 Homebrew 安装适用于 Python3 的 pygame 我的机器上同时安装了 Python 2 和 Python 3 I used 这个 Reddit 页面 其中说 brew tap Homebrew python
  • 句柄与 AddHandler

    动态附加 分离事件处理程序有优势吗 手动分离处理程序是否有助于确保不存在对已处置对象的引用 我很确定Handles子句只是语法糖并插入一个AddHandler声明到你的构造函数中 我使用此代码进行了测试并禁用了应用程序框架 因此构造函数不会
  • 我应该如何替换新OpenCV中的FeatureDetector功能?

    我已经下载了Java OpenCV的示例代码 几行代码中有FeatureDetectore 编译器表示已弃用的方法 FeatureDetector detector FeatureDetector create FeatureDetecto
  • OSM数据解析以获取具有子节点的节点

    我下载了一个小区域的开放街道地图数据 我想过滤数据以获取具有特殊类别的节点 这是 OSM 数据的示例
  • 针对位于系统其他位置的存储库运行“git status”

    我知道我可以这样做 git git dir Z www proj web test sample repo cloned git status 但是 问题是该命令是从运行的proj文件夹 这意味着之前位于的所有文件sample repo c
  • Android 中的嵌套 Firestore 异步侦听器

    因此 我在几天的集合中有活动文档 我需要将所有活动合并到一个列表中 我认为我应该循环集合 然后循环活动 最后得到下面的代码 我不知道这是否是组合多个集合的最佳方法 更糟糕的是 我不知道我的列表何时准备好用于所有异步调用 有什么建议吗 谢谢