未解决的参考:RoomDatabase

奈卢杰29

我正在尝试在我的应用程序中设置房间(按照文档)。除了我的Database班级之外,一切都编译得很好RoomDatabase班是找不到的。可能值得注意的是,我使用的是 Jetpack Compose 桌面应用程序,而不是在 Android 上。

import androidx.room.*

@Entity
data class User(
    @PrimaryKey val uid: Int,
    @ColumnInfo(name = "first_name") val firstName: String?,
    @ColumnInfo(name = "last_name") val lastName: String?
)


@Dao
interface UserDao {
    @Query("SELECT * FROM user")
    fun getAll(): List<User>

    @Query("SELECT * FROM user WHERE uid IN (:userIds)")
    fun loadAllByIds(userIds: IntArray): List<User>

    @Query("SELECT * FROM user WHERE first_name LIKE :first AND " +
            "last_name LIKE :last LIMIT 1")
    fun findByName(first: String, last: String): User

    @Insert
    fun insertAll(vararg users: User)

    @Delete
    fun delete(user: User)
}

@Database(entities = arrayOf(User::class), version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}
plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.4.10'
}

apply plugin: 'kotlin-kapt'

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
    google()
    jcenter()
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib"
    def room_version = "2.2.5"
    implementation 'androidx.core:core-ktx:1.2.0'

    implementation "androidx.room:room-runtime:$room_version"
    kapt "androidx.room:room-compiler:$room_version"

    // optional - Kotlin Extensions and Coroutines support for Room
    implementation "androidx.room:room-ktx:$room_version"

}
奈卢杰29

我设法让这个工作添加

id 'com.stepango.aar2jar' version "0.6"

到我的plugins街区。但是,在我的主函数中添加数据库初始化代码后,代码将不再编译,因为Context数据库初始化需要android类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章