17|框架升级:如何小步安全地升级数据库框架?
黄俊彬
你好,我是黄俊彬。
上节课我们重构了消息组件,最后遗留了一个问题,就是消息组件的数据存储都是采用 SQL 拼写的方式来操作,这样不便于后续的扩展及维护。
除此之外,相比前面的其他重构,升级数据框架需要考虑的场景会更多,例如升级框架以后用户的重要数据不能丢失。
今天我们以 Sharing 项目为例,一起把项目中原先采用 SQL 拼写的方式替换为使用 Room 框架来统一管理缓存数据。在这个过程中我会与你分享如何小步安全重构,分阶段完成数据库框架的升级。为了确保重构完的代码不会破坏原有功能,还有用户的关键数据不丢失,我还会讲解如何给数据操作相关功能做自动化测试覆盖,以及如何实现更安全的数据迁移。
代码分析
我们先一起来看看消息组件中创建数据库表的相关操作,核心代码是后面这样。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了如何安全地升级数据库框架,并在升级过程中进行自动化测试覆盖和小步安全重构。通过以Sharing项目为例,作者分析了原有的数据库操作代码存在的问题,并介绍了使用Room框架管理缓存数据的升级过程。文章强调了自动化测试覆盖和小步重构的重要性,并提供了测试用例的设计和自动化测试用例的代码示例。作者还详细阐述了小步安全重构的步骤,包括使用Room注解更新实体、使用Room的SupportSQLiteOpenHelper进行SQL操作、使用Dao注解管理数据的增删改查以及数据迁移等。最后,总结了Room框架的升级带来的优势,如减少模板代码编写、代码更易维护等。整体而言,本文通过具体的代码示例和步骤说明,为读者提供了一种安全升级数据库框架的方法,并强调了自动化测试覆盖和小步重构的重要性。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大型 Android 系统重构实战》,新⼈⾸单¥59
《大型 Android 系统重构实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- peter请教老师两个问题: Q1:屏幕适配一般怎么做?采用框架?如采用,什么框架好?还是逐页面来做?不采用框架的话,布局时控件宽高都用weight,距离用dp,字体用sp,这样就可以适配吗? Q2:MessageDao的定义中,@Insert后面为什么没有SQL语句?另外,Delete函数的注解写的是@Query,应该是笔误吧。
作者回复: Hi,peter。 Q1:适配大屏,通常采用多布局文件的方式。 Q2:Insert注解表示插入数据,不用SQL语句,后面的Delete由于是要删除所有数据,Delete注解不支持,所以用了Query。
2023-03-20归属地:山西 - Aā 阳~老师,可以解释一下思考题吗2023-10-12归属地:上海
收起评论