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

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

Войти через центр авторизации
Похожие вопросы
Amigoweb Магнитогорск
До 80 000 ₽
C.Nord Санкт-Петербург
от 100 000 ₽
от 50 000 до 100 000 ₽