当 ViewModel
与 Room
结合使用时,可以构建出高效且架构良好的 Android 应用。
首先,创建 Room
数据库、实体、DAO
等相关组件。例如,假设有一个 User
实体表示用户信息:
@Entity(tableName = "users")
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "name")
private String name;
// 构造函数、getter 和 setter 方法
}
对应的 DAO
接口:
@Dao
public interface UserDao {
@Insert
void insertUser(User user);
@Query("SELECT * FROM users WHERE id = :userId")
User getUserById(int userId);
// 其他查询、更新、删除方法
}
数据库类:
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
在 ViewModel
中,通过依赖注入或者获取应用的上下文来获取数据库实例,并进行数据操作: