我在Android项目中使用的是Kotlin 1.0.1-2。我想使用DBFlow作为我的ORM。但是它要求使用Table注释来持久化我的类。表注释具有数据库属性。并且此属性需要一个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()
}
最佳答案
显然我不应该以这种方式使用KClass。当前Kotlin中正确的方法是AppDatabase::class
而不是KClass<AppDatabase>
。