Обновление базы данных Android Android и приложений

Я разработал приложение для Android и выпустил версию 1.0. Приложение содержит локальную базу данных SQLite с 5 таблицами.

Теперь мы планировали выпустить версию 2.0, также обновляя пользователей версии 1.0. В версии 2.0 мы включили дополнительные две таблицы с предыдущей 5 таблицей, так что теперь 7 таблиц.

Теперь мой вопрос: пользователи версии 1.0 имеют некоторые данные в локальной базе данных. Если он обновляется до версии 2.0, предыдущие данные будут потеряны? Если это так. То какой альтернативный метод?

Solutions Collecting From Web of "Обновление базы данных Android Android и приложений"

Вы должны поместить все изменения в свой метод onUpgrade, который вы можете использовать для этого кода:

@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "ALTER TABLE " + TABLE_SECRET + " ADD COLUMN " + "name_of_column_to_be_added" + " INTEGER"; db.execSQL(sql); } 

Это добавляет столбец в вашу текущую базу данных. Ваша база данных не потеряет данные. Напоминание: onUpgrade вызывается, когда выполняется getWriteableDatabase или getReadableDatabase И версия вашей базы данных отличается от вашей старой версии.

Вы можете сделать некоторые из SQLiteOpenHelper#onUpgrade , получить некоторые старые данные. И вставить в новую таблицу

Измените свою версию db и добавьте дополнительные два метода создания таблицы в свой onUpgrade(SQLiteDatabase db, int oldVersion, int newVesion) . Теперь предыдущие данные не будут потеряны.

Я надеюсь, что это поможет вам.