java - 在 firebase 数据库中按日期排序

标签 java android firebase firebase-realtime-database

<分区>

我有一个如下所示的数据库:

{
firstitem : {
"name" : "first_item_name",
"date" : "29/11/2018",
"user" : "random user",
"url" : "My Url",
"tag" : "firstitem"
},
seconditem : {
"name" : "second_item_name",
"date" : "20/11/2018"
"user" : "another user",
"url"  : "a url",
"tag"  : "seconditem" 
},  
thirditem : {
"name" : "third_item_name",
"date" : "20/11/2017"
"user" : "another user",
"url"  : "a url",
"tag"  : "thirditem"   
}
 ect....
}

我希望能够有一个按日期排序的选项,从最新的开始,到最旧的。我怎样才能做到这一点?

这是我目前调用 firebase 字符串的方法:

if (dataSnapshot.exists()) {
        Log.i("Event", "Added");

        Firebase_Strings dlStrings = dataSnapshot.getValue(Firebase_Strings.class);
        p9p_strings.DOCUMENTARY_NAME.add(dlStrings.name);
        p9p_strings.DOCUMENTARY_SYNOPSIS.add(dlStrings.about);
        p9p_strings.DOCUMENTARY_URL.add(dlStrings.url);
        p9p_strings.DOCUMENTARY_UPLOADED.add(dlStrings.date);
        p9p_strings.DOCUMENTARY_TAG.add(dlStrings.tag);

最佳答案

如果您将日期存储为字符串 "29/11/2018" 而不是时间戳,则无法按日期对项目进行排序。

要解决这个问题,您应该将 date 属性的类型更改为数字。

here 您可以了解如何添加和取回时间戳。

关于java - 在 firebase 数据库中按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540641/

相关文章:

java - EJB Bean 与不同的未完成事务关联

java - Minecraft 红石模拟器的替代方法

java - 在 2.3.4 中序列化 DecimalFormatSymbols 时出现问题

java - Flutter 无法从 url 加载图片

javascript - 推送到 Firebase 数组时写入预先确定的节点 ID

java - 使用 jSoup 检索下载的链接名称

java - JSpinner 的 fireStateChanged() 方法有问题

android - 在 Play 商店和设备上处理多个 DPI 的 Assets

java - FireBase 实时数据库需要太多时间来检索 `ListView` 数据

java - 为什么从 Firebase 读取用户数据时会出现空指针异常?