Android应用程序上的SQLite更新更新

时间:2011-08-05 11:21:47

标签: android sqlite

我在Android市场上发布了一个使用sqlite并显示数据的应用程序。我想知道我是否通过添加功能发送应用更新,我是否应该上传新数据库?当用户已经拥有我的应用程序,点击更新后会发生什么?数据库会自行更新吗?如果用户第一次下载我的应用程序,他们肯定会获得新的数据库内容......但现有用户呢?我想知道是否必须在程序中显式更新数据库

4 个答案:

答案 0 :(得分:0)

为什么不通过代码创建sqlite数据库?这样,您的更新可以更新数据库上的SQL(更改列,添加行),而不会影响用户现有数据。

答案 1 :(得分:0)

如果要更改数据库的属性,那么在更新时会产生问题,如果数据库的属性相同则不会产生任何影响......

答案 2 :(得分:0)

您可以使用它支持版本和迁移机制的android.database.sqlite.SQLiteOpenHelper

答案 3 :(得分:0)

创建新版本时...如果更改数据库版本... onUpgrade功能将在所有现有用户上运行:

public static final int dbVersion = 2;
protected static class DatabaseHelper extends SQLiteOpenHelper { 
    public DatabaseHelper(Context context) {
        super(context, dbName, null, dbVersion);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        //create tables
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //what do you want to do to existing users? maybe recreate?
    }
}