【发布时间】:2014-03-27 13:53:02
【问题描述】:
我正在开发一个 sq-lite 数据库,我可以在其中找到三星设备中的问题。当我卸载应用程序时,android 操作系统会保留导致数据库版本冲突的数据库 - 以前我使用版本 2,现在我使用版本 1 作为 sqllitehelper 构造函数中的参数。按照惯例,卸载应用时,Android 操作系统会删除所有数据库、共享首选项和缓存文件。
我在 app 文件夹中使用了数据库存储的默认位置。
这是我得到的错误:
Caused by: android.database.sqlite.SQLiteException: Can't downgrade database from version 2 to 1
【问题讨论】:
-
你传递给ctor的数据库路径是什么?
-
DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
-
你不能将你的数据库版本降级到更低的版本,即2到1。如果你的数据库结构有任何变化,请始终增加数据库版本
-
我知道我们不能降级数据库版本,但我卸载应用程序然后降级版本然后出现此错误
-
在卸载前删除数据库文件并清除数据。除非你删除并清除数据 android 保留数据库文件和共享首选项即使在卸载应用程序后
标签: android sqlite sharedpreferences