解决"Android Room Kotlin 数据库"的问题,需要以下步骤:
implementation 'androidx.room:room-runtime:2.3.0'
kapt 'androidx.room:room-compiler:2.3.0'
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val email: String
)
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
@Dao
interface UserDao {
@Query("SELECT * FROM users")
suspend fun getAllUsers(): List
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insertUser(user: User)
@Query("DELETE FROM users")
suspend fun deleteAllUsers()
}
import androidx.room.Database
import androidx.room.RoomDatabase
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
import android.app.Application
import androidx.room.Room
class MyApp : Application() {
companion object {
lateinit var database: AppDatabase
private set
}
override fun onCreate() {
super.onCreate()
database = Room.databaseBuilder(this, AppDatabase::class.java, "my-database")
.build()
}
}
val user = User(1, "John Doe", "johndoe@example.com")
MyApp.database.userDao().insertUser(user)
val allUsers = MyApp.database.userDao().getAllUsers()
这些步骤将帮助您在Android中使用Room Kotlin库来创建和管理数据库。根据您的需求,您还可以添加其他实体类和DAO方法。