Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要过滤时间,我可以在firebase实时数据库中执行哪些操作?_Java_Android_Firebase Realtime Database_Time_Filter - Fatal编程技术网

Java 要过滤时间,我可以在firebase实时数据库中执行哪些操作?

Java 要过滤时间,我可以在firebase实时数据库中执行哪些操作?,java,android,firebase-realtime-database,time,filter,Java,Android,Firebase Realtime Database,Time,Filter,当我将数据发送到firebase realtime firebase时,我想在过去10分钟内连续从firebase realtime数据库获取数据。我尝试了很多方法,但都没有成功 质疑 您可以从创建查询时计算的“10分钟前”开始,并维护自己的计时器以实现应用程序的“仅最后10分钟”逻辑 例如,如果您收到一个8分钟大的孩子,请添加一个计时器以在2分钟后“忘记”该孩子。如果一个孩子已经给了你超过10分钟的时间(如果你的查询已经运行了一段时间,你仍然会收到较大的孩子,如果他们以后被写入数据库),只需忽

当我将数据发送到firebase realtime firebase时,我想在过去10分钟内连续从firebase realtime数据库获取数据。我尝试了很多方法,但都没有成功

质疑

您可以从创建查询时计算的“10分钟前”开始,并维护自己的计时器以实现应用程序的“仅最后10分钟”逻辑

例如,如果您收到一个8分钟大的孩子,请添加一个计时器以在2分钟后“忘记”该孩子。如果一个孩子已经给了你超过10分钟的时间(如果你的查询已经运行了一段时间,你仍然会收到较大的孩子,如果他们以后被写入数据库),只需忽略它

如果性能不是问题,您只需每隔几秒钟运行一次检查,即可删除此时超过10分钟的所有项目

您可能会发现使用子事件监听器而不是值事件监听器更容易做到这一点(这样就不会在每次更改时重复给您旧的子事件)

如果计划长时间保持查询活动,则可能需要重新启动查询,以停止接收大得多的子查询

如果您可以访问项目的云功能,再加上您不需要太高的精度,再加上您读取的路径在所有用户中都很常见,您可以尝试其他方法:安排一个云功能(每1或2分钟一次),以维护一个不同的路径,该路径只包含大约10分钟前的项目,并让Android客户端从该路径读取数据


用于调度功能的文档:

您为什么说它不起作用?
start
end
的值是什么?请将您的数据库结构添加为JSON文件或至少作为屏幕截图。
query=database.getReference("handler").child("first").orderByChild("time").startAt(start).endAt(finish);query.addValueEventListener(new ValueEventListener()...