【发布时间】:2021-01-19 09:10:33
【问题描述】:
我有以下课程:
@Entity(tableName = "dutyday_table")
data class DutyDay(
@PrimaryKey
val date: Date,
val showTime: Time,
val closingTime:Time
)
以及另一个使用“DutyDay”类对象的类:
@Entity(tableName = "tour_table")
data class Tour(
@PrimaryKey
val day1: DutyDay?,
val day2: DutyDay?,
val day3: DutyDay?,
val day4: DutyDay?,
val day5: DutyDay?,
val day6: DutyDay?,
val day7: DutyDay?,
val totalHours: Time
)
以及以下转换器:
class Converters {
@TypeConverter
fun longToDate(value: Long?): Date? {
return value?.let { Date(it) }
}
@TypeConverter
fun dateToLong(date: Date?): Long? {
return date?.time
}
@TypeConverter
fun longToTime(value: Long?): Time? {
return value?.let { Time(it) }
}
@TypeConverter
fun timeToLong(date: Time?): Long? {
return date?.time
}
}
转换器已在数据库中正确注释,我已经使用了 Room Database 和转换器,然后它们才能正常工作。但是对于这个例子,Android Studio 抱怨它无法弄清楚如何存储“Tour”类中的字段,我猜是因为它使用了“DutyDay”类中创建的 DutyDays。我是否必须以某种方式为“Tour”中的属性创建另一个转换器?
感谢您的帮助。
【问题讨论】:
标签: android kotlin android-room converters