我正在使用具有多个表的SQLite数据库。其中许多具有DATETIME类型的列。
我已经开始将数据库迁移到Room。但是我不知道在实体类中使用哪种数据类型在表中创建DATETIME类型的列。
答案 0 :(得分:1)
您需要使用TypeConvertor
如下定义类型转换器
public class TimestampConverter {
static DateFormat df = new SimpleDateFormat(Constants.TIME_STAMP_FORMAT);
@TypeConverter
public static Date fromTimestamp(String value) {
if (value != null) {
try {
return df.parse(value);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
} else {
return null;
}
}
}
在日期类型的字段中添加@TypeConverters
注释
@ColumnInfo(name = "created_date")
@TypeConverters({TimestampConverter.class})
public Date createDate;