我为我的用户提供了备份 sqlite 数据库的选项。我这样做的方法是将它复制到外部存储器。如果需要,他们可以将其加载回去。
但是,我想知道如何解决这种情况:
如果我的用户在版本 1 中备份了数据库。将应用程序更新到版本 2,这是一个更改的数据库。然后我的用户加载数据库(旧版本)。这将导致应用程序崩溃 有没有办法 1-检测用户复制的数据库版本,所以我比较它当前的数据库版本并阻止复制? 2-(甚至更好)能够将复制的数据库版本更新为版本 2 并将其加载到我的应用程序中?
在此方面的任何帮助表示赞赏 谢谢
最佳答案
我有一个应用程序,可以让用户保存数据库。但是,为了避免这种问题,我不只是“复制”数据库文件来保存它,而是将数据库中包含的数据以特定方式写入另一个文件(保存文件),换句话说,我创建了一种新的文件格式来存储导出的数据。
而且,当我需要恢复导出的数据时,我所要做的就是解析保存文件,并将导入的数据插入数据库。因此,我控制导出和导入的内容。
实现起来比较复杂,但我认为这是最好的做法。
关于android - 将旧版本的 SQLite 数据库复制到较新版本的应用程序时如何避免崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14638421/