以下示例代码演示了如何正确创建一个简单的实体类、DAO类和数据库:
// Entity class @Entity(tableName = "users") data class User( @PrimaryKey(autoGenerate = true) val id: Int, val name: String, val age: Int )
// DAO class @Dao interface UserDao { @Insert fun insert(user: User)
@Query("SELECT * FROM users")
fun getAllUsers(): List
}
// Database class @Database(entities = [User::class], version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun userDao(): UserDao }
// Initiating the database val db = Room.databaseBuilder( applicationContext, AppDatabase::class.java, "my-database-name" ).build()
// Inserting data db.userDao().insert(User(0, "Jason", 25))
// Retrieving data val users = db.userDao().getAllUsers()
通过以上方法检查代码、注解、语句和版本号是否正确,可以解决ROOM数据库出错的问题。