[英]App doesn't show database changes with SQLite Asset Helper
我正在编写一个与 SQLite 数据库打包在一起的应用程序。
我正在逐渐添加到数据库中,但是当我在 Android Studio 中编译代码时,应用程序没有看到最新的更新。
我发现的解决方法是更改数据库的文件名并在代码中对其进行更新,但是如果我进行频繁更新,这将变得非常烦人,我觉得必须有更好的方法。
对于它的价值,这里是相关的代码片段:
public class DatabaseHelper extends SQLiteAssetHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "database5.db";
private static final String BOOKS = "books";
private static final String AUTHORS = "authors";
public DatabaseHelper (Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// etc
}
您需要增加版本号然后使用setForcedUpgrade()
。 像这样的东西:
private static final int DATABASE_VERSION = 2;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// call this method to force a database overwrite every time the version number increments:
//setForcedUpgrade();
}
您可以在示例项目中找到详细信息。
只需从资产文件夹更改您的 sqlite 数据库文件名,如下所示 [1]: https://i.stack.imgur.com/77p6K.jpg [这里我将名称 Quran.db 更改为 Quran1.db]
从 class 您可以访问它。 [1]: https://i.stack.imgur.com/x710F.jpg [从 class 我也将 Quran.db 更改为 Quran1.db]
这种方法对我很有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.