在上传到android中的playstore之前管理数据库

The*_*Man 2 database sqlite android

几个星期前我已经上传了一个应用程序到商店.此应用程序涉及sqlite数据库,该数据库存储有关用户名,密码以及用户在本地使用应用程序时给出的其他详细信息的信息.

现在我有几个表和字段添加到数据库,并想将应用程序上传到Playstore作为更新?

我担心的是,如果用户从playstore更新应用程序 - 更新后 - 存储在数据库中的所有数据都将被保存,或者用户是否必须从头开始重新创建所有内容?

让我知道!

谢谢!

Adi*_*ath 7

您必须覆盖SQLiteOpenHelper的onUpgade方法.在OnUpgrade方法中,您可以删除数据(drop sqlite命令)或使用其他列维护数据(alter sqlite命令)或创建新表(create sqlite命令).

请参阅以下代码段.

我假设你的版本是1.(Plz检查你的SqliteOpenHelper类的构造函数)

将版本增加1.

class DatabaseHelper extends SqliteOplenHelper{

        private static final int DATABASE_VERSION = 2;   //new version of the database
        private static final int Database_name = "MyDatabase";
        private static final String alterUserName = "alter table users add name text";
        private static final String table_users = "create table if not exists "
            + users + "(" + "_id integer primary key autoincrement,"
            + "email text" + ")";

        public DatabaseHelper(Context context) {
        super(context, Database_name, null, DATABASE_VERSION);
        cntxt = context;
    }

        @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        db.execSQL(table_users);
        db.execSQL(alterUserName);

    }
}
Run Code Online (Sandbox Code Playgroud)

现在,每当您使用数据库更改滚动下一个更新时,请务必将数据库版本增加1,否则请保持不变.