Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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服务器时间戳加上30秒?_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 如何存储Firebase服务器时间戳加上30秒?

Android 如何存储Firebase服务器时间戳加上30秒?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在Firebase实时数据库中存储对象。对象如下所示: import com.google.firebase.database.ServerValue; public class Message { private Object timestamp = ServerValue.TIMESTAMP; private String source = "client"; private String req; private String ack = null;

我正在Firebase实时数据库中存储对象。对象如下所示:

import com.google.firebase.database.ServerValue;

public class Message {

    private Object timestamp = ServerValue.TIMESTAMP;
    private String source = "client";
    private String req;
    private String ack = null;
    private int pos;

    Message(){};    // needed for Firebase when converting DataSnapshot to Message object

    Message(String req, int pos) {
        this.req = req;
        this.pos = pos;
    }

    public Object getTimestamp() {
        return timestamp;
    }

    public String getSource() {
        return source;
    }

    public String getReq() {
        return req;
    }

    public String getAck() {
        return ack;
    }

    public int getPos() {
        return pos;
    }

}

我还没有尝试过,不过在将对象存储到Firebase上时应该正确填充时间戳

现在我的问题是:如何添加过期属性?过期时间等于时间戳加上30秒,如下所示:

private Object expiration = ServerValue.TIMESTAMP + <30 seconds>;
private Object expiration=ServerValue.TIMESTAMP+;

不幸的是,这是不可能的。
ServerValue.TIMESTAMP
唯一受支持的用法是将服务器时钟的精确值存储在该子项中。这是一个标记值,而不是一个精确的数字。在Firebase收到令牌并将其转换为数字之前,确切的数字是未知的

您唯一的解决方法是使用后端执行写入,或者让客户端在写入后读取值,并向其添加30秒,然后将其写回