未解决的参考 KClass 试图将 DBFlow 和 Kotlin 与 Android 一起使用
Unresolved reference KClass trying to use DBFlow and Kotlin with Android
我在我的 Android 项目中使用 kotlin 1.0.1-2。我想使用 DBFlow 作为我的 ORM。但它要求使用 Table 注释来保留我的 类。 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>
.
我在我的 Android 项目中使用 kotlin 1.0.1-2。我想使用 DBFlow 作为我的 ORM。但它要求使用 Table 注释来保留我的 类。 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>
.