我创建了期望/实际有趣的创建数据库,但出现错误:上下文尚未初始化如何解决?
我期待的乐趣:
expect fun createDB(): Server?
open class ServerRepository {
private val database = createDB()
private val serverQueries = database?.serverQueries
// Insert New Server
fun insert(title: String, url: String, token: String) {
serverQueries?.insertServer(title, url, token)
}
// Get All Servers
fun list(): List<Servers> {
return serverQueries?.selectAll()?.executeAsList()!!
}
// Get Server by ID
fun get(id: Long): Query<Servers>? {
return serverQueries?.selectServer(id)
}
// Update Server
fun update(id: Long, title: String, url: String, token: String) {
serverQueries?.updateServer(title, url, token, id)
}
// Delete Server
fun delete(id: Long) {
serverQueries?.deleteServer(id)
}
}
实际的:
lateinit var context: Context
actual fun createDB() : Server? {
val driver = AndroidSqliteDriver(Server.Schema, context, "Server.db")
return Server(driver)
}
错误: kotlin.UninitializedPropertyAccessException:lateinit 属性上下文尚未初始化