在将旧版SQLite数据库复制到较新版本的应用程序时,如何避免崩溃

时间:2013-02-01 01:43:21

标签: android android-sqlite

我为我的用户提供了备份sqlite db的选项。我这样做的方法是将其复制到外部存储器。他们可以根据需要加载它。

但是,我想知道如何解决这种情况:

如果我的用户在版本1中备份了数据库,则将应用程序更新为版本2,这是一个已更改的数据库。然后我的用户加载数据库(旧版本1)。这将导致应用程序崩溃 有办法吗? 1-检测用户正在复制的DB版本,以便比较当前的db版本并防止复制? 2-(甚至更好)能够将复制的DB版本更新到版本2并将其加载到我的应用程序?

对此有任何帮助表示赞赏 感谢

1 个答案:

答案 0 :(得分:1)

我有一个应用程序,我给用户保存数据库的能力。但是,为了避免这种问题,我不仅“复制”数据库文件以保存它,而且我以特定方式将数据库中包含的数据写入另一个文件(保存文件),换句话说,我创建了一种新的文件格式来存储导出的数据。

而且,当我必须恢复导出的数据时,我所要做的就是解析保存文件,并将导入的数据插入数据库中。因此,我控制导出的内容和导入的内容。

实施起来比较复杂,但我认为这是最好的事情。