タイムスタンプの DataSnapshot.getValue() で Android チャットがクラッシュする
POJO にタイムスタンプ プロパティを追加しようとしています。上記の解決策は、アプリケーションによって使用される実際のデータ メンバーを無視するように jackson に指示します。AutoValue を使用していますが、クラスに注釈を付けて動作させる方法がわかりません。
@AutoValue
public abstract class Pojo {
@JsonProperty("id") public abstract String id();
@JsonProperty("name") public abstract String name();
@JsonProperty("date") public abstract long date();
@JsonCreator public static Pojo create(String id, String name, long date) {
return new AutoValue_Pojo(id, name, date);
}
}
カスタムシリアライザーを使用してみました:
public class TimeStampSerializer extends JsonSerializer<Long> {
@Override public void serialize(Long value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString(ServerValue.TIMESTAMP.toString());
}
}
しかし、タイムスタンプを生成する代わりに文字列date: "{.sv=timestamp}"をfirebaseに書き込んだ