FirestoreデータベースにTimeStampというフィールドがあります。Quarta-feira、11 de Outubro de 2017às10:24:54 GMT-03 :00カスタムオブジェクトクラスの@ServerTimestampアノテーションはどのように設定されますか?Firestore
map.put( "timestamp"、FieldValue.serverTimestamp());
Firestoreの説明によれば、注釈をモデルクラスに直接追加する必要があります。
私は自分のクラスにStringのTimeStampフィールドを持っています。タイムスタンプを使用してみましたが、動作しません。
この問題を解決する最善の方法は何ですか?
コードクラスモデル:
public class Servicos {
private String nome_produto;
private String duracao;
private String valor;
private String valor_old;
private String categoria;
private String categoria_nome;
private String sub_categoria;
private String sub_categoria_nome;
private String descricao;
private String duracao_milis;
private String timestamp;
public Servicos() {
}
public Servicos(String nome_produto, String duracao, String valor, String valor_old,
String categoria, String categoria_nome, String sub_categoria, String sub_categoria_nome,
String descricao, String duracao_milis, String timestamp){
this.nome_produto = nome_produto;
this.duracao = duracao;
this.valor = valor;
this.valor_old = valor_old;
this.categoria = categoria;
this.categoria_nome = categoria_nome;
this.duracao_milis = duracao_milis;
this.sub_categoria = sub_categoria;
this.sub_categoria_nome = sub_categoria_nome;
this.descricao = descricao;
this.timestamp = timestamp;
}
public String getNome_produto() {
return nome_produto;
}
public void setNome_produto(String nome_produto) {
this.nome_produto = nome_produto;
}
public String getDuracao() {
return duracao;
}
public void setDuracao(String duracao) {
this.duracao = duracao;
}
public String getValor() {
return valor;
}
public void setValor(String valor) {
this.valor = valor;
}
public String getValor_old() {
return valor_old;
}
public void setValor_old(String valor_old) {
this.valor_old = valor_old;
}
public String getCategoria() {
return categoria;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
public String getCategoria_nome() {
return categoria_nome;
}
public void setCategoria_nome(String categoria_nome) {
this.categoria_nome = categoria_nome;
}
public String getSub_categoria() {
return sub_categoria;
}
public void setSub_categoria(String sub_categoria) {
this.sub_categoria = sub_categoria;
}
public String getSub_categoria_nome() {
return sub_categoria_nome;
}
public void setSub_categoria_nome(String sub_categoria_nome) {
this.sub_categoria_nome = sub_categoria_nome;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getDuracao_milis() {
return duracao_milis;
}
public void setDuracao_milis(String duracao_milis) {
this.duracao_milis = duracao_milis;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}
参考Firestoreドキュメント:Link Firestore
// If you're using custom Java objects in Android, add an @ServerTimestamp
// annotation to a Date field for your custom object classes. This indicates
// that the Date field should be treated as a server timestamp by the object mapper.
DocumentReference docRef = db.collection("objects").document("some-id");
// Update the timestamp field with the value from the server
Map<String,Object> updates = new HashMap<>();
updates.put("timestamp", FieldValue.serverTimestamp());
docRef.update(updates).addOnCompleteListener(new OnCompleteListener<Void>() {
// ...
// ...
このリンクをチェックしますあなたの問題を解決するかもしれない [ここをクリック](https:// stackov erflow.com/questions/47035245/how-to-use-fieldvalue-servertimestamp-to-custom-model-class-in-android) –