Android Room是一个SQLite对象映射库,可以极大简化与SQLite数据库的交互。在使用Room时,有时候需要将接口作为实体来使用,下面是示例代码:
定义实体:
@Entity
class UserEntity(
@PrimaryKey val userId: String,
val name: String,
val age: Int
)
定义接口:
@Entity
interface User {
val userId: String
val name: String
val age: Int
}
在DAO中使用:
@Dao
interface UserDao {
@Insert
fun insert(user: User)
@Query("SELECT * FROM UserEntity")
fun getUser(): List
}
如上代码中,通过在User接口中定义字段,然后在实体中使用,再在DAO中对User进行操作即可。
注意事项: