Firebase UI 回收器适配器中的不同子集合

2023-12-06

我正在尝试获取不同的子集合并使它们适应我的RecyclerAdapter与 Firebase-UI。

我的Cloud Firestore设置如下:

user:(Collection)
    uid1:(Document)
       name, email(fields)

data:(Collection)
    uid1:(Document)
       images:(Collection)
          document1
                   fields
       pdf:(Collection)
          document1
                  fields

所以我在想,我不知道如何查询具有相同模型的不同集合并将它们适配到回收器适配器中。

我的实际代码可以检索图像:

private void setupImages(){
    Query query = fStore.collection("data").document(userID).collection("images"); //get images collection

    FirestoreRecyclerOptions<Data> options = new FirestoreRecyclerOptions.Builder<Data>().setQuery(query,Data.class).build(); 

    FirestoreRecyclerAdapter adapter = new ImageAdapter(options, getContext());

    recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 2));

    recyclerView.setAdapter(adapter); //adapt the query to adapter
}

该类通过数据模型将数据绑定到视图。

我考虑过创建一个列表并添加项目,但我认为这不是一个好方法,应该还有其他选择。

问题:如何将不同的集合绑定到回收器适配器中而不被替换?

PS:请随意以任何方式发表评论以改进我的数据库。我是新来的!


根据答案:

对,就是那样!

对于这个问题:

所以你想从中获取数据data/userID/images and data/userID/pdfs在单个查询中?

答案是,你不能。即使两个集合中的对象相同,您也无法在单个查询中从两个不同的集合中获取数据。 Firestore 中的查询很浅,这意味着您只能从运行查询的集合中获取文档。如果您需要从两个集合中获取文档,则需要创建两个单独的查询。在 Android 中,您可以借助任务来实现这一点当全部成功()方法,正如我在以下帖子中的回答中所解释的:

  • Firestore - 在本地合并两个查询

但是,有一种解决方案可以从多个集合中获取数据,但所有集合/子集合应具有相同的名称。为此,请参阅有关使用的官方文档Firestore 集合组查询.

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

Firebase UI 回收器适配器中的不同子集合 的相关文章

  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • 对于一个单元格,RecyclerView onBindViewHolder 调用次数过多

    我正在将 RecyclerView 与 GridLayoutManager 一起使用 对于网格中的每个项目 我需要调用 REST api 来检索数据 然后 从远程异步获取数据后 我使用 UIL 加载 显示图像 一切似乎都很好 但我发现 on
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 通过系统应用程序以编程方式静默安装 apk(无需 root)

    我有带有 android sharedUserId android uid system UID 1000 的系统级应用程序 设备未root INSTALL PACKAGES 权限包含在清单中 我可以静默安装下载的 apk 吗 我已经发现这
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • Android 后台倒计时器

    我有一个 Android 应用程序 它管理一个倒计时器 类 CountDownTimer 它显示在应用程序屏幕中 以显示到达 00 00 还剩多少时间 我现在的问题是 当我按主页按钮或启动另一个应用程序时 应用程序 计时器不会在后台运行 所
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • 归并排序错误C

    我正在尝试实现合并排序算法 我遵循 CLRS 书中提到的算法 这是我的代码 include
  • java.lang.NoSuchMethodError: 没有静态方法 getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;

    我将 Android Studio 更新到 2 2 我的项目将不再构建 我的 Activity 的 super onCreate savedInstanceState 给了我一个错误 java lang NoSuchMethodError
  • 了解 docker 层和未来的变化

    So 每个 Docker 映像都会引用代表文件系统差异的只读层列表 各层相互堆叠 形成容器根文件系统的基础 and 因为每个容器都有自己的薄可写容器层 所有更改都存储在这个容器层中 这意味着多个容器可以共享访问 to the 相同的底层图像
  • 如何在浏览器中“要求”CommonJS 模块? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 在浏览器中将 CommonJS 模块加载为客户端 JavaScript 代码的最佳方法是什么 CommonJS模块将其功能放在module exports命名空间 通常包含在使用requi
  • 代码可以交互工作,但不能在编织时工作

    我有一个 RMarkdown 文档 其中包含一些 R 代码 当我在控制台中以交互方式运行该代码时 该代码运行良好 但是 当我尝试编织文档 使用 RStudio 中的 编织 按钮 时 R 会抛出无法找到某些对象的错误消息 当您编译文档时 使用
  • 在 Windows 上编译错误 C2131 和 C3863,但在 Linux 上则不然 [重复]

    这个问题在这里已经有答案了 我有一段代码可以在 Linux Raspbian 上编译并正常工作 但不能在 Windows VS 17 上编译 我使用 CMAKE 3 进行跨平台编译 就像我说的 我在 Linux 上构建它没有问题 以下是我使
  • 通过 WebRTC 流对实时 PCM 音频数据进行未压缩、未加密、未更改、原始传输

    我正在转移一个live使用 WebRTC 的 2 个 Electron 窗口进程之间的音频流 没有 ICE 或 STUN 服务器 或类似的东西 连接是通过 Electron IPC 通信手动建立的 基于这段代码 注意 从有关音频流本身的技术
  • 是否能保证线程在 aspnet 中完成?

    我在 aspnet 中有这个简单的代码 假设没有异常 文件锁定或进程终止 new Thread gt Thread sleep 15000 GC Collect File Write dummy file Start GC Collect
  • 想要检测浏览器关闭事件?

    我正在开发任何需要检测用户是否关闭选项卡或浏览器的应用程序 以便我可以将用户与其他用户断开连接 基本上它是一个聊天应用程序 我用过 window onbeforeunload confirmExit function confirmExit
  • 自定义分类 - 根据角色或能力设置访问权限

    我刚刚学习 WordPress 的自定义分类法 如何限制我的用户使用分类法的访问权限 例如 我创建了一个名为featured我只希望编辑及以上角色能够向此分类添加帖子 如何设置访问级别 无论是基于用户角色还是能力 两者都适合我 这是我用于分
  • URL 中的日期 dd/mm/yyyy

    我在 URL 中传递一个日期 dd mm yyyy 格式如下 http www website com parameter 20 02 2000 我正在使用以下 PHP 将其转换为 YYYY MM DD 格式 我的数据库如下 SELECT
  • Python Curses - 打印 Ascii 艺术

    我有一个很长的多行 ascii art 字符串 我想使用 Pythoncurses 模块将其呈现给用户 我对此有点困惑 因为在curses中打印字符串的唯一方法是addstr y x string 它只打印到一行 关于如何实现这一点有什么想
  • 如何在JPA中实现复杂的多对多关系?

    这里是数据库架构 CREATE TABLE Products id INT NOT NULL AUTO INCREMENT category id INT NOT NULL description VARCHAR 100 price DEC
  • 如何从多个匹配对象中删除数组中的单个对象

    var testarray NSArray testarray 1 2 2 3 4 5 3 print testarray testarray removeObject 2 我想从多个匹配对象中删除单个对象 例如 myArray 1 2 2
  • 实时编辑用户输入

    是否可以自动插入字符EditText 当用户输入数据时 IE 如果用户输入一个长数字 例如123456789012 这个数字是否有可能在他在编辑文本框中键入时出现 但每 4 个字符有一个破折号 因此 当您输入上面的数字时 您会看到它被输入到
  • 圆形图像按钮android

    我有一个如图所示的图像按钮 我想要它周围的红色空间 它将是透明的 只是用红色来标识空间 将不可点击 是否可以 我尝试了不同的代码 例如通过 xml 或一些圆形图像视图代码 但没有任何帮助 无需计算任何内容 您唯一需要做的就是在按钮模板 xm
  • 在浏览器中强制使用 Mime 类型(使用 Javascript)

    我认为出于安全考虑这是不可能的 但是 是否可以强制浏览器处理具有某种 mime 类型的文件不控制服务器 我正在从 file 在客户端的机器本身上 提供文件 并且我希望文本文件可以在其关联的文本编辑器中打开 注意 Firefox 只是打开文件
  • 在递归函数调用之前使用 return 子句与不使用 return 子句有何不同?

    我只是在尝试一些递归 并注意到一些让我困惑的事情 让我用一些代码示例来说明 function loop x if x gt 10 return x loop x 1 the recursive call loop 0 上面的调用返回unde
  • 设计内存有限的记忆系统的简单方法是什么?

    我正在编写一个手动计算记忆系统 呃 在 Matlab 中 简单的部分很简单 执行计算后将数据放入记忆系统的一种方法 一种从记忆中查询和获取数据的方法 一种查询系统所有 密钥 的方法 这些部分没有太多疑问 问题是我的计算机的内存量有限 因此有
  • Firebase UI 回收器适配器中的不同子集合

    我正在尝试获取不同的子集合并使它们适应我的RecyclerAdapter与 Firebase UI 我的Cloud Firestore设置如下 user Collection uid1 Document name email fields