【问题标题】:Realm. How to add new entity to database?领域。如何将新实体添加到数据库?
【发布时间】:2021-04-07 16:33:41
【问题描述】:

我是 Realm 的新手,我正在尝试在 Realm 数据库中创建新实体。 首先,我有一个 FolderItem 类

data class FolderItem(
    val id: Int,
    var name: String,
    var postIds: List<FavoriteId>,
    var isChosen: Boolean
)

根据 Realm 文档,我决定将其转换为

open class FolderItem(
    @PrimaryKey val id: Int = 0,
    var name: String = "",
    var postIds: RealmList<FavoriteId> = RealmList(),
    var isChosen: Boolean = false
): RealmObject()

FavoriteId 在哪里

open class FavoriteId(
    val postId: Int = 0,
    val wpId: Int? = null
): RealmObject()

但每次我尝试构建项目时,都会出现以下错误:

Execution failed for task ':logic:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)

我也发现我一写就报错:: RealmObject(),不管我接下来写什么。

你能帮我找出问题所在吗?

附:项目中的其他领域逻辑工作正常

【问题讨论】:

    标签: android kotlin realm


    【解决方案1】:

    将此添加到您的 gradle.properties 文件中:

    kapt.use.worker.api=false
    kapt.incremental.apt=false
    

    【讨论】:

    • 谢谢,兄弟。多亏了这两行,我发现了一个错误。那是我使用了关键字 val 而不是 var omg
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多