为了账号安全,请及时绑定邮箱和手机立即绑定

Android中的Firebase数据Desc排序

Android中的Firebase数据Desc排序

神不在的星期二 2019-07-05 15:53:40
Android中的Firebase数据Desc排序我将数据存储在Firebase存储中。对象Comment带属性timestamp..当我将数据从设备推送到Firebase时,我正在填充timestamp具有当前时间并存储在long数据类型。当我使用firebaseRef.orderByChild("timestamp").limitToLast(15)结果不是我所期望的那样。我甚至玩游戏规则,但没有结果:{     "rules": {         ".read": true,         ".write": true,         ".indexOn": "streetrate",         "streetrate": {           ".indexOn": ".value"         }     }}我试过商店timestamp在……里面String数据类型相同。
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

Firebase可以按给定属性按升序顺序排列项目,然后返回第一个N项(limitToFirst())或最后N项(limitToLast())。没有办法表明您希望这些项目按降序排列。

有两个选项可以获得您想要的行为:

  1. 使用Firebase查询获取正确的数据,然后重新订购it客户端。

  2. 向数据中添加一个具有降序值的字段。

对于后一种方法,通常有一个倒置的时间戳。

-1 * new Date().getTime();


查看完整回答
反对 回复 2019-07-05
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

我看不出有什么办法可以逆转数据。但布鲁特的一种方法是获取数据。

List<ModelClass> mList=new ArrayList();public void onDataChange(DataSnapshot dataSnapshot) {
     mList.clear();
     for(DataSnapshot children: dataSnapshot.getChildren()){
        ModelClass modelClass=children.getValue(ModelClass.class);
        mList.add(modelClass);
     }
     Collections.reverse(mList);
     Adapter.notifyDataSetChanged();}


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 582 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信