【问题标题】:Delete a set of firebase data automatically after assigned time has passed指定时间过后自动删除一组 Firebase 数据
【发布时间】:2017-07-27 02:04:03
【问题描述】:

我在FirebaseDatabase 中有一些数据,其中每个数据集都有两个属性:startTimeendTime

这是数据结构:

app
 -ref
   -uniqueID1
     -key: value
     -startTime: 1488849333
     -endTime: 1488853842
     -key: value
   -uniqueID2
     -key: value
     -startTime: 1488850198
     -endTime: 1488853802
     -key: value

我想要的是在endTime自动通过或用户打开应用时删除数据集。

我对这个话题做了一些研究,发现了this,但这似乎对我没有帮助。

如何删除endTime已通过的数据集?

【问题讨论】:

  • 我认为 firebase-database 没有自动脚本来做到这一点。您可能需要一个后端脚本来完成这项工作。或者您可以在下次获取数据时检查。如果结束时间到期,则将其删除并且不向用户显示。
  • 听起来像是答案@user1077539

标签: android firebase firebase-realtime-database epoch


【解决方案1】:

这看起来像一个类似的答案,但您似乎不明白答案。所以这里是如何做到这一点。 因为重要的是结束时间,所以只有我们要监控它何时过去。为此,我们获取当前时间

Date().getTime();

并检查它是否大于结束时间(如果是,则表示结束时间已经过去)

final DatabaseReference currentRef = adapter.getRef(position);
                    currentRef.child("endTime").addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            long time = System.currentTimeMillis();  //get time in millis
                            long end = Long.parseLong( dataSnapshot.getValue().toString()); //get the end time from firebase database

                            //convert to int
                            int timenow = (int) time; 
                            int endtime = (int) end;

                            //check if the endtime has been reached
                            if (end < time){
                                currentRef.removeValue();  //remove the entry
                            }
                        }
                        @Override
                        public void onCancelled(DatabaseError databaseError) {

                        }
                    });

当我要删除的项目被单击时,我已经实现了该代码。所以适配器来自列表视图。 谢谢,希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 2019-04-24
    • 2018-12-15
    相关资源
    最近更新 更多