android - 升级只读数据库

标签 android database

我正在使用 SQLiteAssetHelper 将现成的数据库导入我的应用程序。 现在我想发布我的数据库的第二个版本,但是当用户更新应用程序时,数据库没有更新。我看到文档,发现我必须使用 setForcedUpgrade(),但我不知道在哪里使用它,如果你能指导我,我将不胜感激。 :)

我的数据库.java :

public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;

public MyDatabase(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);

}}

我用这些读取数据库:

    MyDatabase my;

    SQLiteDatabase sq;

    my = new MyDatabase(getApplicationContext());

    sq = my.getWritableDatabase();

谢谢。

最佳答案

以你的例子为例:

    public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;

public MyDatabase(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);

//FORCE UPGRADE BY DELETING OLD DATABASE
setForcedUpgrade(DATABASE_VERSION);

}}

关于android - 升级只读数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24634736/

相关文章:

Android空列表布局

android - 在android中使用aspectj加载时间编织

java - 如何从您的 Activity 的前一个实例中判断线程已经完成?

c - 哪个能够容纳 1 亿条记录的嵌入式数据库具有高效的 C 或 C++ API

mysql - 如何在RoR中从CouchDB读取数据?

mysql - 将记录从在线 MySQL 数据库导入到 MS Access 数据库

sql - 变量在 IF NOT EXISTS .. CREATE TABLE 查询中不起作用,我不知道为什么

python - mysql为一个人存储多个别名

android - 我在哪里可以看到 Android Studio 中一个类的所有方法?

android - 使 float 按钮部分透明android