android studio room数据库
时间: 2023-10-06 14:11:32 浏览: 133
Room是Android开发中用于管理SQLite数据库的一个库。在使用Room之前,需要定义一个继承自RoomDatabase的抽象类,并在注解中指定实体类和数据库版本号。然后,通过该抽象类可以获取相应的DAO对象,进而进行增删改查等数据库操作。
在主界面中,可以使用Room进行增删改查操作。首先需要编写RoomDatabase,并在其内部定义一个抽象方法用于获取DAO对象。然后,在主界面中可以通过Room.databaseBuilder()方法创建数据库实例,并获取相应的DAO对象。通过该DAO对象可以进行数据库的增删改查操作。
下面是一个使用Room访问数据库的示例代码:
```kotlin
// 定义实体类
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
// 定义DAO接口
@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAll(): List<User>
@Insert
fun insert(user: User)
@Update
fun update(user: User)
@Delete
fun delete(user: User)
}
// 定义RoomDatabase
@Database(entities = [User::class], version = 1)
abstract class MyDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
// 使用Room访问数据库
val db = Room.databaseBuilder(
applicationContext,
MyDatabase::class.java,
"数据库文件名.db"
).build()
val userDao = db.userDao()
// 查询数据
val users = userDao.getAll()
// 修改数据
for (user in users) {
user.age += 1
}
userDao.update(users)
// 关闭数据库连接
db.close()
```
阅读全文