, 每当数据库中的数据发生变化时 , 就需要开启线程 , 重新获取数据库中的数据 ;
为了优化上述问题 , 可以引入 LiveData 和 ViewModel ,
ViewModel 是 视图 View...和 更新视图 操作 ;
2、Google 官方建议的 Room + ViewModel + LiveData 架构
下图是 Google 官方 提出的 Room + ViewModel + LiveData...视图模型层 : 该层 不与 Room 和 Retrofit 直接交互 , 而是与 Repository 层 进行交互 ; 在 ViewModel 层引入 LiveData 监听数据变化 , 如果数据发生变化则在...;
在 Room 框架中的 Dao 数据库访问对象接口 的定义方式需要作出改变 , 涉及到数据库查询的 接口方法时 , 其返回值需要 返回 LiveData 类型 , 泛型设置为 List<Student...使用要点
在 Activity 组件中 , 通过调用 ViewModel 视图模型获取 数据库中的数据 , ViewModel 调用 Repository 层的增删改查方法 , Repository