Как сохранить метку времени в Firestore? - PullRequest
0 голосов
/ 16 января 2019

Я работаю над приложением чата и хочу сохранить метку времени моих сообщений. Мой класс данных для сообщений:

import com.google.firebase.firestore.ServerTimestamp;
import java.util.Date;

public class messgaesDataClass {
    private String messageText;
    private int messageStatus;
    private String messagefrom;
    private @ServerTimestamp Date timestamp;

    public messgaesDataClass(String messageText, int messageStatus, String messagefrom, Date time) {
        this.messageText = messageText;
        this.messageStatus = messageStatus;
        this.messagefrom = messagefrom;
        this.time = time;
    }

    public messgaesDataClass() {
    }

    public String getMessageText() {
        return messageText;
    }

    public void setMessageText(String messageText) {
        this.messageText = messageText;
    }

    public int getMessageStatus() {
        return messageStatus;
    }

    public void setMessageStatus(int messageStatus) {
        this.messageStatus = messageStatus;
    }

    public String getMessagefrom() {
        return messagefrom;
    }

    public void setMessagefrom(String messagefrom) {
        this.messagefrom = messagefrom;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }
}

Я не понимаю, как сделать объект этого класса. Что я могу передать в конструктор этого класса для инициализации атрибута timestamp?

1 Ответ

0 голосов
/ 16 января 2019

Чтобы решить эту проблему, вы должны удалить Date time в качестве аргумента вашего конструктора. Ваш конструктор должен быть таким:

public messgaesDataClass(String messageText, int messageStatus, String messagefrom) {
    this.messageText = messageText;
    this.messageStatus = messageStatus;
    this.messagefrom = messagefrom;
}

Нет необходимости инициализировать объект time в вашем конструкторе. Серверы Firebase будут читать ваше поле time как ServerTimestamp (из-за аннотации) и заполнять это поле соответствующей отметкой времени сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...