Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
Android 根据时间戳从firebase数据库获取数据_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 根据时间戳从firebase数据库获取数据

Android 根据时间戳从firebase数据库获取数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,如何根据时间戳检索数据,以便在recyclerview中首先显示具有最新时间戳的数据 我的代码是: { "YoZSiyACIqSBNXU7XKv56olKOv92": { "-KpJVrAUg9yCPNptU-jY": { "cmt": "hello", "ids": "-KpJVrAIVocWckK-vEd2", "imgid": "-KpJT3Ygd8U3yf9nN-Yr"

如何根据时间戳检索数据,以便在recyclerview中首先显示具有最新时间戳的数据

我的代码是:

{
    "YoZSiyACIqSBNXU7XKv56olKOv92":
    {
        "-KpJVrAUg9yCPNptU-jY":
        {
            "cmt": "hello",
            "ids": "-KpJVrAIVocWckK-vEd2",
            "imgid": "-KpJT3Ygd8U3yf9nN-Yr",
            "timestamp": "1500361488354",
            "userid": "surabhipaul.gkp2008@gmail.com"
        },
        "-KpoR8S99tMm1fDmlwaR":
        {
            "cmt": "really",
            "ids": "-KpoR8S99tMm1fDmlwaQ",
            "imgid": "-KpJT3Ygd8U3yf9nN-Y,
            "timestamp": "1500897125323",
            "userid": "surabhipaul.gkp2008@gmail.com"
        }
    },
    "pTMeNLkIHqPmFOCPQcK2yjImdmi2":
    {
        "-KpU8HxLfohEtXIGJzi9":
        {
            "cmt": "hie",
            "ids": "-KpU8HxLfohEtXIGJzi8",
            "imgid": "-KpJT3Ygd8U3yf9nN-Yr",
            "timestamp": "1500539860639",
            "userid": "sanchisrivastava123@gmail.com"
        },

        "-KpoQo6615Y-U-DQ_Le1":
        {
            "cmt": "nice",
            "ids": "-KpoQo6-flNhGxZd4V19",
            "imgid": "-KpJT3Ygd8U3yf9nN-Yr",
            "timestamp": "1500897037891",
            "userid": "sanchisrivastava123@gmail.com"
        }
    }
}

解决方案相当棘手,您需要将push键更改为timestamp*-1

例如:

public class CommentData {
    String cmt;
    String userid;
    String comid;
    String nos;

    public String getNos() {
        return nos;
    }

    public void setNos(String nos) {
        this.nos = nos;
    }

    public String getComid() {
        return comid;
    }

    public void setComid(String comid) {
        this.comid = comid;
    }


    public String getCmt() {
        return cmt;
    }


    public void setCmt(String cmt) {
        this.cmt = cmt;
    }

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }


}
Collections.sort(列表,新比较器(){
@凌驾
公共整数比较(CommentData o1、CommentData o2){
返回Long.compare(Long.parseLong(o2.time)),
Long.parseLong(o1.time));
}
});

您是否从firebase获得了列表数据列表?您需要在时间戳字段上对列表进行排序您是否询问如何通过递减时间戳检索项目。如果是,请参阅感谢Akilesh Patil。排序解决了问题
public class CommentData {
    String cmt;
    String userid;
    String comid;
    String nos;

    public String getNos() {
        return nos;
    }

    public void setNos(String nos) {
        this.nos = nos;
    }

    public String getComid() {
        return comid;
    }

    public void setComid(String comid) {
        this.comid = comid;
    }


    public String getCmt() {
        return cmt;
    }


    public void setCmt(String cmt) {
        this.cmt = cmt;
    }

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }


}
"YoZSiyACIqSBNXU7XKv56olKOv92":
{

    "-1500897125323":
    {
        "cmt": "really",
        "ids": "-KpoR8S99tMm1fDmlwaQ",
        "imgid": "-KpJT3Ygd8U3yf9nN-Y,
        "timestamp": "1500897125323",
        "userid": "surabhipaul.gkp2008@gmail.com"
    },
    "-1500361488354":
    {
        "cmt": "hello",
        "ids": "-KpJVrAIVocWckK-vEd2",
        "imgid": "-KpJT3Ygd8U3yf9nN-Yr",
        "timestamp": "1500361488354",
        "userid": "surabhipaul.gkp2008@gmail.com"
    }
}
Collections.sort(list, new Comparator<CommentData>() {
                                @Override
                                public int compare(CommentData o1, CommentData o2) {
                                    return Long.compare(Long.parseLong(o2.time),
                                            Long.parseLong(o1.time));
                                }
                            });