Java 在firebase数据库中按日期排序

Java 在firebase数据库中按日期排序,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个如下所示的数据库: { firstitem : { "name" : "first_item_name", "date" : "29/11/2018", "user" : "random user", "url" : "My Url", "tag" : "firstitem" }, seco

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

{
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
属性的类型更改为number


您可以选择如何添加和获取时间戳。

您的日期排序格式不是很好。考虑存储一个整数时间戳而不是格式化的字符串。将所有数据都放到ARARYLIST中,然后使用提供比较表的集合排序,