android在卸载应用程序后保留数据库

标签 android sqlite sharedpreferences

我正在开发一个 sql-lite 数据库,我可以在其中找到三星设备中的问题。当我卸载应用程序时,android 操作系统保留导致数据库版本冲突的数据库 - 以前我使用版本 2,现在我使用版本 1 作为 sqllitehelper 构造函数中的参数。按照惯例,当应用程序被卸载时,Android 操作系统会删除所有数据库、共享首选项和缓存文件。

我在应用程序文件夹中使用了数据库存储的默认位置。

这是我得到的错误:

Caused by: android.database.sqlite.SQLiteException: Can't downgrade database from version 2 to 1

最佳答案

SQlite 数据库只是文件,它们与任何其他文件一样对待:它们(默认情况下)存储在应用程序的私有(private)数据区域 (/data/data/$PACKAGENAME/databases)。它们与应用程序私有(private)数据区域中的所有其他内容一起被删除。

您可以根据需要在 SD 卡上创建数据库。当然,它们不会在卸载时被删除。

关于android在卸载应用程序后保留数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22012544/

相关文章:

android - ActivityRecognitionResult.hasResult(intent) 在向 Intent 添加额外内容时为 false

android - 使用 NativeActivity 硬件缩放 OpenGL 表面

java - 从 SharedPreferences 检索值时无法将获取的 java.lang.String 转换为 java.lang.Integer

ios - 如何将图片插入mysql数据库

mysql - 鬼博客的sqlite vs mysql?

整个 SharedPreferences 文件的 Android 备份

android - 无法从总数中减去 SharedPreference 编号

android - 检测另一个应用程序何时尝试使用相机

android - 通过 Android 中的 WhatsApp 向特定联系人发送消息

python - 如何将一系列数字插入sqlite3