【发布时间】:2014-07-30 13:29:43
【问题描述】:
我正在使用 SQLite 来构建一个测验应用程序。我有几个问题已解决,一切正常。然后我注意到其中一个是不正确的,我把它说对了。当我将应用程序运行到模拟器时,没有任何改变。经过一番研究,我发现我必须手动擦除曾经运行的设备中的所有数据。
有没有比手动擦除数据更好的方法来解决这类问题?
【问题讨论】:
-
让我在这里猜猜:除非您的数据文件夹中存在现有数据库,否则您将资产中的预播种数据库复制到数据文件夹中。您纠正了种子数据库中的错误并使用新数据库运行了应用程序,您的数据在 UI 中没有改变。是这样吗?
-
@Machinarius 差不多就是这样,是的。
-
那你要检查数据库版本。
-
那么你已经有了你的解决方案。增加数据库版本并让应用程序基于该版本运行更新/迁移脚本,或者只是擦除和替换数据库,选择权在您。 SQLiteOpenHelper 类有这方面的方法。 developer.android.com/reference/android/database/sqlite/…
-
@Machinarius,CL 就是这样。非常感谢