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 に答える