首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >房间日历TypeConverter (Kotlin)

房间日历TypeConverter (Kotlin)
EN

Stack Overflow用户
提问于 2019-02-18 13:32:39
回答 1查看 5K关注 0票数 3

我正在尝试使用以下TypeConverter在我的房间数据库中保存一个时间戳

代码语言:javascript
复制
class Converters {

    @TypeConverter
    fun fromTimestamp(value: Long?): Calendar? {

        if(value == null) return null

        val cal = GregorianCalendar()
        cal.timeInMillis = value
        return cal
    }

    @TypeConverter
    fun toTimestamp(timestamp: Calendar?): Long? {

        if(timestamp == null) return null

        return timestamp.timeInMillis
    }
}

我的两个实体包括以下列:

代码语言:javascript
复制
@ColumnInfo(name = "timestamp")
val timestamp: Calendar?,

但是,我在试图构建该项目时遇到了编译错误--在使用开发人员参考指南中的Date TypeConverter示例时,我没有遇到任何问题。

我无法看到实际的错误是什么,因为我刚刚得到了一堆数据,“找不到符号”错误,如果与Room相关的代码有问题的话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 13:34:56

使用:

代码语言:javascript
复制
object Converters {
    @TypeConverter
    @JvmStatic
    fun fromTimestamp(value: Long?): Calendar? = value?.let { value ->
        GregorianCalendar().also { calendar ->
            calendar.timeInMillis = value
        }
    }

    @TypeConverter
    @JvmStatic
    fun toTimestamp(timestamp: Calendar?): Long? = timestamp?.timeInMillis
}

代码语言:javascript
复制
@TypeConverters(Converters::class)
abstract class AppDatabase : RoomDatabase() {
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54748483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档