如何保留不会被破坏的本地数据库文件?

时间:2017-10-08 08:14:18

标签: android sqlite

在我的应用程序中,我使用sqlite编写数据持久性 我决定创建本地db文件,我读取/写入我的数据。

因为有一个选项,用户会做一些会破坏这个db文件的东西(我关闭他的设备) - 我想创建备份db文件,它将在写入进程结束时覆盖到db文件。

(我将永远保存2个db文件..一个是不是最后一个更新,不同的没有损坏,一个是'脏' db文件,包含最新数据 - 我的应用程序将写入此文件写完后在这两个文件之间进行交换)

  1. 是否有其他方法可以避免出现损坏的db文件?
  2. 是否有一些代码示例或某些如何在Android代码上执行此备份的库?

2 个答案:

答案 0 :(得分:2)

避免本地SQLite数据库损坏风险的一个选择是将关键数据镜像到服务器,最终到更稳定的更永久的数据库。以此为例,您可以定期将本地用户数据与服务器同步。如果您检测到损坏的数据,如果事情太糟糕而根本无法读取,则不会使用该数据进行更新,甚至可能使用服务器端数据库数据进行某种恢复。

答案 1 :(得分:0)

我建议你查看Room - 一个新的库,它是SQLite的一个抽象层,用来处理程序员手动管理SQLite数据库时遇到的问题。就个人而言,我已经迁移到Room,它为我解决了一些问题(除了你的,但仍然是)我以前一直在努力解决。