【发布时间】:2018-10-23 02:56:25
【问题描述】:
我正在使用日期转换器类来转换我的日期对象。但是,我仍然遇到错误说。错误:无法弄清楚如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。
我的日期转换器类
public class DateConverter {
@TypeConverter
public static Date toDate(Long dateLong){
return dateLong == null ? null: new Date(dateLong);
}
@TypeConverter
public static long fromDate(Date date){
return date == null ? null :date.getTime();
}
}
用于使用日期对象的我的数据库表。
@Entity(tableName = "userFitnessDailyRecords")
@TypeConverters(DateConverter.class)
public class UserFitnessDailyRecords {
@NonNull
@PrimaryKey(autoGenerate = true)
public int id;
public Date forDay;
public Date getForDay() {
return forDay;
}
public void setForDay(Date forDay) {
this.forDay = forDay;
}
}
我遵循了来自 google 代码持久性实验室和 commonwares room 各自 GitHub 示例的示例。我正在使用房间版本 1.0.0。
【问题讨论】:
-
对我来说最好的方法是使用 Gson() 将其转换为字符串,反之亦然。您可以使用任何类型的对象进行 Gson 转换。
标签: android android-room android-database android-date