简要介绍
通常我们存储的是基础类型,如Int,String等,但是如果要存在复杂的类型时,那该如何呢?
解决方案(以Date类型为例)- 定义类型转换器
class Converters {
@TypeConverter
fun fromTimestamp(value: Long?): Date? {
return if (value == null) null else Date(value)
}
@TypeConverter
fun dateToTimestamp(date: Date?): Long? {
return date?.time
}
}
- 在AppDatabase中增加转换器
@TypeConverters(Converters::class)
@Database(entities = [Note::class], version = 1, exportSchema = false)
@TypeConverters(Converters::class)
abstract class AppDatabase : RoomDatabase() {
}
- OK啦