我正在尝试在我的应用程序中设置房间(按照文档)。除了我的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"
}
我设法让这个工作添加
id 'com.stepango.aar2jar' version "0.6"
到我的plugins
街区。但是,在我的主函数中添加数据库初始化代码后,代码将不再编译,因为Context
数据库初始化需要android类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句