Java 如何根据创建的时间对Firebase数据进行排序?

Java 如何根据创建的时间对Firebase数据进行排序?,java,android,firebase,firebase-realtime-database,android-recyclerview,Java,Android,Firebase,Firebase Realtime Database,Android Recyclerview,大家好,我使用Query从应用程序中的Firebase实时数据库加载了一些数据 以下是简单的代码: 由于orderByChild(“name”),每当在数据库中插入新数据时,都与插入数据的时间不一致。相反,它以随机顺序将数据插入recyclerView 如何修复它,以便插入的最后一个数据始终位于recyclerView中的最后一个,而不是以随机方式插入 由于orderByChild(“名称”),每当在数据库中插入新数据时,都不符合时间 使用时: .orderByChild("name&

大家好,我使用
Query
从应用程序中的Firebase实时数据库加载了一些数据

以下是简单的代码:

由于orderByChild(“name”),每当在数据库中插入新数据时,都与插入数据的时间不一致。相反,它以随机顺序将数据插入recyclerView

如何修复它,以便插入的最后一个数据始终位于recyclerView中的最后一个,而不是以随机方式插入

由于orderByChild(“名称”),每当在数据库中插入新数据时,都不符合时间

使用时:

.orderByChild("name")
这意味着来自数据库的结果将根据“name”属性中存在的值排序,而不是根据“time”排序

相反,它以随机顺序将数据插入RecyclerView

如上所述,这绝对不是随机顺序。如果您需要根据加法的“时间”得到结果,那么您有两个选项

例如,如果“M38dJdquf4jE”是由“push()”方法提供的按下键,则可以使用Query的方法,该方法:

创建一个查询,其中子节点按其键排序

您将获得有序的结果,因为按下的键包含时间组件

如果这些键不是由“push()”方法提供的,要根据时间组件获得订单,那么您应该添加一个类型为“timestamp”的属性,如我在以下帖子中的回答所述:

一旦你有了新的财产,你可以使用:

.orderByChild("timestamp")
使结果按升序排列。如果你需要降序,那么你可以使用我在以下帖子中的答案:


完成,,,,,,,,,,,,,,,,,,,,,
.orderByChild("name")
.orderByChild("timestamp")