Firebase Android - 如何随机获取一些项目[重复]
Posted
技术标签:
【中文标题】Firebase Android - 如何随机获取一些项目[重复]【英文标题】:Firebase Android - How to get randomly a number of items [duplicate] 【发布时间】:2017-08-14 08:24:37 【问题描述】:我正在开发一个分享这些想法的 android 应用程序。我的应用程序使用 Firebase 来存储想法,当用户打开应用程序时,我想从 Firebase 中随机获取 N 个想法。 如何实现从 Firebase 中随机获取 N 个项目的功能?
【问题讨论】:
您的问题已解决。 ***.com/questions/28154966/… 您的问题已解决。 ***.com/questions/28154966/… 参见***.com/questions/40853157/firebase-random-query 或(适用于ios,但同样适用于Android)***.com/questions/40765613/… 【参考方案1】:我认为没有任何选项可以从一个节点随机获取数据。但是您可以从 firebase 数据库中检索所有数据,然后以编程方式显示随机数据。
【讨论】:
我的数据真的很大,我不知道先获取所有数据是个好主意。 Anw,谢谢你的回答:) 你能分享你的数据库设计吗... Idea 项并不复杂,但项的数量很大。例如,如果我有 > 10.000 个项目,是否可以获取所有数据? 你可以对这些数据进行分类并将它们保存在多个节点中。然后当应用程序打开时,您随机选择类别并从中随机选择一些值......或者您可以使用您已知的 url 保存值。然后你可以点击特定的 url 来获取数据... pushid 创建一个随机值来保存数据你不能使用 pushid 来保存你的数据。你可以使用数组索引来保存你的数据并从你已知的 url 随机命中。【参考方案2】:一种解决方案是为想法键创建复合键,本质上是一个字符串加数字的索引
ideas
idea_0
idea: "The Wheel"
idea_1
idea: "Internal Combustion Engine"
idea_2
idea: "Electricity"
.
.
.
idea_X
idea: "Disco"
然后,在代码中,生成一个从 0 到 X 的随机数...然后将该随机数附加到字符串并仅从 Firebase 加载该节点。
因此,如果我们生成随机数 2,则密钥将是
idea_2
现在你有电了!确保使随机数生成器包含在内,以便获得从 0 到 X 的数字;你不会想省略“迪斯科”的想法吧?
例如,在一个循环中执行 3 次,您将有三个随机的想法。
【讨论】:
以上是关于Firebase Android - 如何随机获取一些项目[重复]的主要内容,如果未能解决你的问题,请参考以下文章