![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jetpack
文章平均质量分 66
一棵大白杨
学习->消化->输出。
展开
-
Room升级(三)
数据库升级Room的基本使用Room与LiveData、ViewModel结合使用Migration随着业务的变化,数据库可能也需要做一些调整,比如增加一个新字段,在Room中如何实现?Android为我们提供了一个Migration类对Room进行升级。Migration有两个参数,startVersion和endVersion,一个表示当前版本,一个表示将要升级到的版本。使用方法创建Migration private static final Migration MIGRATI原创 2021-01-03 18:34:24 · 952 阅读 · 0 评论 -
Room与LiveData、ViewModel结合使用(二)
直接使用Room的劣势Android在UI线程不能执行耗时操作,在工作线程不能刷新UI(别在这抬杠,我知道一些情况下可以)而我们的数据更新变化了自然需要给用户展示出来看,但是数据变化又在工作线程,这就涉及到线程间通信,很不方便。虽然我们有Hander,AsyncTask,runOnUiThread等等很多好用的原生支持,甚至还有很多第三方库,但这些目前看来都不是最优解。解决方案在以往我们数据发生变化时都需要再去在工作线程中查询一遍数据然后把数据再给到UI线程去刷新,但是现在我们希望数据发生变化时,原创 2021-01-03 13:38:39 · 2103 阅读 · 0 评论 -
Room的基本使用(一)
Room来源Android采用Sqlite作为数据库存储。由于Sqlite代码写起来繁琐且容易出错,因此,开源社区逐渐出现了各种ORM(Object Relational Mapping)库。常见的有ORMLite, GreenDAO等。Google也意识到推出自家ORM库的必要性,于是有了Room,Room同其他ORM库一样,也是在Sqlite上提供了一层封装。Room相关概念概念Entity:一个Entity对应数据库中的一张表。Entity类是Sqlite表结构对Java类的映射,在Jav原创 2020-12-29 22:52:57 · 4220 阅读 · 0 评论