【问题标题】:Sorting firebase排序火力基地
【发布时间】:2018-05-21 14:45:59
【问题描述】:

Database snapshot

这是我的消防基地数据库(链接所附的图片)。我想按日期对所有这些进行排序。正如您在图像中看到的,我已经创建了一个日期变量。因此,对于日期“2018 年 5 月 20 日”,日期变量的值为“20180520”。因此,只需按日期的整数值对数据进行排序就可以了。我用来显示这些数据的代码是,

    DatabaseReference mDatabase= FirebaseDatabase.getInstance().getReference();
    mDatabase.addValueEventListener(new ValueEventListener()
    {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            map = (Map<String, Object>) dataSnapshot.getValue();

            itr = map.entrySet().iterator();

            entry = itr.next();


            Map singleUser = (Map) entry.getValue();

            String name=(String) singleUser.get("name");
            String d=(String) singleUser.get("sdate");
            String m=(String) singleUser.get("smon");
            String y=(String) singleUser.get("syear");
            String Submi=(String) singleUser.get("subm");

现在,我希望对这段代码进行操作,使数据按日期递增的顺序显示。如何对火力进行排序?如果不可能,我如何按 Object.date 对 Map(String,Object) 进行排序?

请帮忙

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    您可以对从服务器检索到的数据进行排序。请查看这部分文档 - Ordering by a specified child key

    在你的情况下,它看起来像这样:

    final DatabaseReference usersRef = database.getReference("users");
    usersRef.orderByChild("date").addValueEventListener(new ValueEventListener() {
         @Override
         public void onDataChange(DataSnapshot dataSnapshot) {            
         //Your code goes here... 
            }
         }
    
         @Override
         public void onCancelled(DatabaseError databaseError) {}});
    

    【讨论】:

      【解决方案2】:

      如果您想按日期对数据库项目进行排序,则应将日期存储为 ServerValue.TIMESTAMP,如 here 所述,而不是我在屏幕截图中看到的数字。

      所以ServerValue.TIMESTAMP 只是服务器理解并转换为数字的令牌,即使用自己的时钟的当前时间。

      如果您尝试将日期作为数字或字符串存储在实时数据库中,请不要这样做。这不是一个很好的解决方案。

      【讨论】:

        猜你喜欢
        • 2016-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-05
        • 2016-08-03
        • 2021-05-04
        相关资源
        最近更新 更多