【发布时间】:2020-06-23 10:00:41
【问题描述】:
比如说,我的应用中有一个完善的房间数据库。
我计划对数据库进行升级。但是,升级/数据迁移是巨大的,因此我想告诉用户耐心等待,通过显示 UI 消息,例如 AlertDialog 或 Toast 等。
但我不知道如何检查是否需要播放消息----我的意思是,我如何获取/检查他们当前的数据库版本?有没有类似RoomDatabase.getVersion() 或RoomDatabase.isOlderVersion() / RoomDatabase.isOutDated() 的函数?
另一方面,我知道有Migration 类。考虑到我所知道的可以检查数据库版本,我打算这样做
- 在数据库中创建监听器持有者。
- 在 UI 线程构建数据库之前,在其中注册一个监听器。
- 当
Migration被调用时,通知监听器做事。
但是,版本升级不是很复杂吗?有更好的主意吗?
【问题讨论】:
标签: java android android-room