我正在编写一个应用程序,它与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
}
3条答案
按热度按时间nbnkbykc1#
您需要递增版本号,然后使用
setForcedUpgrade()
。详情请参见sample project。
tez616oj2#
当我在Android Studio中编译代码时,应用看不到最新更新
SQLiteAssetHelper
仅在数据库尚不存在时才从资产中复制数据库。我觉得一定有更好的办法
如果您不在运行时修改数据库,并且计划以新资产的形式将更新分发到该数据库,则可以使用
setForcedUpgrade()
,如文档中所述。否则,您可以在更改数据库时卸载该应用,或在更改数据库时清除“设置”中的应用数据。
sauutmhj3#
只需更改您的sqlite数据库文件名从资产文件夹[这里我有更改名称Quran.db到Quran1.db]
并从类,你可以访问它.[从类也我已经改变了Quran.db古兰经1.db]
这个方法对我很有效。