1

我在我的 Android 项目中使用 kotlin 1.0.1-2。我想使用 DBFlow 作为我的 ORM。但它需要使用 Table 注释来持久化我的类。Table 注释具有 Database 属性。这个属性需要一个 KClass。然而,下面的代码根本无法编译。错误说:Unresolved reference KClass。那是谁的错?提前致谢。

import com.raizlabs.android.dbflow.annotation.Column
import com.raizlabs.android.dbflow.annotation.PrimaryKey
import com.raizlabs.android.dbflow.annotation.Table
import com.raizlabs.android.dbflow.structure.BaseModel
import java.util.*
import kotlin.reflect.KClass

@Table(name = "items", database = KClass<AppDatabase>)
class Item : BaseModel() {
    @PrimaryKey(autoincrement = true)
    @Column(name = "id")
    var id: Long = 0
    @Column(name = "updated_at")
    var updatedAt: Calendar = Calendar.getInstance()
}
4

1 回答 1

2

显然我不应该以这种方式使用 KClass。当前 Kotlin 中的正确方法是AppDatabase::class代替KClass<AppDatabase>.

于 2016-05-06T01:56:46.183 回答