android中的管道Firebase请求

android中的管道Firebase请求,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,我正在尝试同时向Firestore发送多个请求。我需要一次检索多个对象,当前无法通过一个查询,因为它们位于不同的位置,并且Firestore还没有查询多个位置或与SQL中的中的操作符等效的对象 从这个问题中我知道,Firebase可以将查询管道化,因为它使用一个连接,但我找不到任何关于如何在android中这样做的内容 那么,我如何在Android中正确地处理Firestore请求呢?如果您只想一次获取一堆文档(而不是监听更改),那么您只需要在每个想要的DocumentReference上使用该

我正在尝试同时向Firestore发送多个请求。我需要一次检索多个对象,当前无法通过一个
查询
,因为它们位于不同的位置,并且Firestore还没有查询多个位置或与
SQL
中的
中的
操作符等效的对象

从这个问题中我知道,Firebase可以将查询管道化,因为它使用一个连接,但我找不到任何关于如何在android中这样做的内容


那么,我如何在Android中正确地处理Firestore请求呢?

如果您只想一次获取一堆文档(而不是监听更改),那么您只需要在每个想要的DocumentReference上使用该方法。对get()的每一个调用都返回一个任务,该任务的侦听器将被调用并显示结果。A就像一个未来或JavaScript承诺——它是Play服务用于异步编程的东西

如果您想等待所有要获取的调用完成,只需收集列表中的所有任务对象,然后传递这些对象,以了解何时完成所有操作。只有在所有其他任务都成功后,才会返回另一个成功的任务。然后,您可以进入所有其他任务以获取文档内容


您还应该知道,您正在使用的代码设置了文档更改的侦听器,并且当服务器上的文档更改时,它们将继续启动。如果不删除这些侦听器,将产生额外的数据开销,并且还会泄漏侦听器。

您是否只是试图一次获取一组文档,并在所有文档都可用时继续?如果是这样,下面的答案就太复杂了,代码行太多了。