是什么会导致SQLite数据库被擦除?

时间:2018-07-23 20:30:02

标签: android sqlite android-sqlite

因此,我的应用程序中的一位用户报告说,他们的数据(保存到SQL表中)已删除,但没有删除他们的应用程序设置(保存为共享首选项)。我把它写在一些极为罕见的情况下是因为以前没有人报告过这个问题。但是昨天,当我使用我的应用程序时,我也发生了同样的事情。发生崩溃(由于某种原因未在Crashlytics或Play控制台中报告,并且在我将手机连接到ADB之前LogCat丢失了所有内容),当我打开应用程序时,存储在SQL数据库中的所有数据都被删除,而共享中的数据却被删除了偏好保持不变。

我几个月都没有更改应用程序-我使用的是每月约3万用户使用的正式版。我的数据库处理代码包含插入和更新,但不包含删除,截断或放置语句的任何地方。

什么可能导致这种情况发生?数据库损坏了吗?为什么要删除所有表?

1 个答案:

答案 0 :(得分:1)

默认情况下,Sqlite数据库中的任何完整性故障都将导致其删除。为了避免通过传递DatabaseErrorHandler