相关疑难解决方法(0)

如何将 Room TypeConverter 应用于实体的单个字段?

我一直在尝试不同的解决方案来将 a 应用于TypeConverterRoom 数据库实体的单个字段,但出现错误

Cannot figure out how to save this field into database. You can consider adding a type converter for it.

当我将转换器应用到实体时,如下所示:

@Entity(tableName = DBKey.calendarDayTable)
@TypeConverters(DateStringConverter::class)
data class CalendarDay(

    @PrimaryKey
    val date: Date
)
Run Code Online (Sandbox Code Playgroud)

一切都按预期进行,但是当我将其应用到这样的领域时:

@Entity(tableName = DBKey.calendarDayTable)
data class CalendarDay(

    @PrimaryKey
    @TypeConverters(DateStringConverter::class)
    val date: Date
)
Run Code Online (Sandbox Code Playgroud)

我收到上面提到的错误。

班级DateStringConverter是:

class DateStringConverter {
    private val formatter = SimpleDateFormat("yyyy-MM-dd")

    @TypeConverter
    fun dateFromString(value: String): Date {
        return formatter.parse(value)!!
    }

    @TypeConverter
    fun dateToString(date: Date): String {
        return formatter.format(date) …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room

3
推荐指数
1
解决办法
1195
查看次数

标签 统计

android ×1

android-room ×1

kotlin ×1