我应该使用不同的数据结构还是过滤 FirebaseRecyclerAdapter? [复制]
Posted
技术标签:
【中文标题】我应该使用不同的数据结构还是过滤 FirebaseRecyclerAdapter? [复制]【英文标题】:Should I use a different data structure or filter the FirebaseRecyclerAdapter? [duplicate] 【发布时间】:2021-11-24 22:07:34 【问题描述】:我正在使用 FirebaseRecyclerAdapter 向我正在从事的大学应用培训项目中的学生显示通知列表。数据存储在以下结构中:
每个学生都有一个部门、一年和一个语言领域
每个公告都有一个目标部门、年份和语言 我的目标是只显示针对当前登录学生的公告,但我找不到在 firebase 数据库中执行此类查询的方法。
获取所有公告不会导致任何隐私问题,因此我想到了过滤 FirebaseRecyclerAdapter 中的数据。我看到 (this) 答案实现了 Filterable 然后调用 FirebaseRecyclerAdapter.getFilter().filter() 方法进行过滤。但是,每次从数据库中获取更多数据时,我都需要自动运行 filter() 方法,而我不知道该怎么做。
【问题讨论】:
【参考方案1】:要仅获取当前用户的公告,您需要执行两个步骤:
-
加载当前用户,这样您就可以查找他们的
department
。
仅为该部门的公告创建查询,例如:
代码:
Query query = FirebaseDatabase.getInstance().getRef("Announcements").orderByChild("department").equalTo("CCNE");
然后您可以根据查询创建FirebaseRecyclerAdapter
,而不是直接引用所有Announcements
。
【讨论】:
我的问题是我不能做这样的查询,因为我也需要根据年份和语言进行过滤,而不仅仅是部门 包含在您的问题中会很有用。但见***.com/questions/26700924/…以上是关于我应该使用不同的数据结构还是过滤 FirebaseRecyclerAdapter? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
从 firebase-realtime-database 过滤数据
两个 Web 应用程序 - 一个 firebase 项目:我应该为一个应用程序创建两个应用程序还是两个托管站点?
我应该将图片上传到 Cloud Firestore 还是 Firebase Storage?