如何在android中使用FieldValue.serverTimestamp()来自定义模型类

Pra*_*mar 2 android firebase firebase-realtime-database google-cloud-firestore

我使用Firestore作为数据库,现在我想在用户注册时存储服务器时间戳.

来自Firestore doc

  Map<String,Object> updates = new HashMap<>();
  updates.put("timestamp", FieldValue.serverTimestamp());
  docRef.update(updates)
  .addOnCompleteListener(new OnCompleteListener<Void>() {  //-- }
Run Code Online (Sandbox Code Playgroud)

但现在我想在我的模型课中加上这个时间戳.

public class UserModel implements Serializable {
    private String name;
    private String uid;
    private String email;
    private String password;
    private long timestamp;

    public long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(long timestamp) {
        this.timestamp = timestamp;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点.请帮我.

Pra*_*mar 12

经过大量研究后,我找到了解决方案.

 @ServerTimestamp
 private Date timestamp;

 public Date getTimestamp() {
     return timestamp;
 }
 public void setTimestamp(Date timestamp) {
        this.timestamp = timestamp;
 }
Run Code Online (Sandbox Code Playgroud)

并且当打电话给这个班级

UserModel userModel = new UserModel();
userModel.setEmail(email);
userModel.setPassword(password);
userModel.setName(name);
userModel.setUid(uid);

insertUserDataToFireStore(userModel); 
Run Code Online (Sandbox Code Playgroud)

这是我找到解决方案的链接 点击这里