@nuroraf
Magician

Почему при обновлении приложения из Play Market не обновляется БД?

Всем Привет!

При обновлении приложения из Плей Маркет обновляется сам макет, но не обновляется БД.
Использовал метод OnUpgrade, но не помогает ((
Вот мой код:

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

// IF THERE IS NEW DB VERSION ON ASSETS FOLDER, REPLACE THE OLD ONE WITH NEW ONE.
if (newVersion > oldVersion) {

InputStream inputStream = null;
OutputStream outputStream = null;
String dbFilePath = DBLOCATION + DBNAME;

Log.d("MYLOG", dbFilePath);

try {

inputStream = mContext.getAssets().open(DBNAME);
outputStream = new FileOutputStream(dbFilePath);

byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer,0,length);
}

outputStream.flush();
outputStream.close();
inputStream.close();

} catch (IOException e) {
throw new Error("Ошибка замены БД!");
}
}

}

Также поменял номер версии БД с 1 на 2 в конструкторе класса.
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Непонятно, зачем ты делаешь это таким стрёмным способом. Этот метод - для обновления структуры бд, а не для какого-то копирования файлов.
Ответ написан
Комментировать
@nuroraf Автор вопроса
Magician
Денис Загаевский
А как можно заменить старую в БД при обновлении? Структура БД у меня остается прежней, только добавляются данные в таблицы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы