Обновить базу данных приложения SQLite, созданную базой данных активов

У меня есть база данных в моем приложении, которая создается путем простого копирования файла базы данных SQLite из папки с ресурсами, но теперь в следующем выпуске я хочу обновить базу данных без потери предыдущих данных.

Есть ли какая-либо логика или способ скопировать предыдущие данные и создать новую базу данных через SQLiteOpenHelper, чтобы в ближайшем будущем я не столкнулся с этой проблемой.

Спасибо


person Krishnakant Dalal    schedule 10.05.2013    source источник


Ответы (2)


  1. Используйте этот суть
  2. В методе OnUpgrade скопируйте свои предыдущие данные из старой базы данных.
  3. В методе doUpgrade используйте скопированные данные для обновления новой базы данных.
person kdehairy    schedule 11.05.2013
comment
Но здесь он будет копировать базу данных только из активов, и если я использовал это, моя БД будет на начальной стадии. Я хочу сохранить данные также во вновь скопированной базе данных. - person Krishnakant Dalal; 27.08.2013
comment
1. old_db находится в пользовательской. 2. в вашей обновленной версии отправьте new_db в папку с ресурсами. 3. пользователь обновляет свою старую версию. 4. запускается новая версия. 5. в методе OnUpgrade прочитайте свои предыдущие данные из old_db. 6. в методе doUpgrade запишите свои предыдущие данные в new_db. Итак, в конце концов, это ваша new_db, которая используется, но загружена данными из old_db. - person kdehairy; 27.08.2013

Предыдущие данные будут сохранены по умолчанию, когда пользователи обновятся до новой версии. но вы должны иметь в виду, что новые пользователи никогда не получат предыдущую версию приложения. Поэтому вы должны добавить полную базу данных в папку с ресурсами.

person Bolton    schedule 10.05.2013