我在我的Android项目中使用kotlin 1.0.1-2。我想使用DBFlow作为我的ORM。但是它要求使用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()
}
答案 0 :(得分:2)
显然我不应该以这种方式使用KClass。当前Kotlin的正确方法是AppDatabase::class
而不是KClass<AppDatabase>
。