Android sqlite на обновление приложения - PullRequest
0 голосов
/ 15 октября 2011

У меня есть приложение для Android, которое состоит из базы данных sqlite в папке активов.В БД у меня есть несколько таблиц, одна из которых - пользовательские данные (которые обновляются с течением времени с помощью приложения - когда пользователь устанавливает приложение, эта таблица пуста).В других таблицах хранятся данные, которые я обновляю.

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

Как правильно это сделать?

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 15 октября 2011

Поскольку вы сказали, что ваши таблицы пусты при первом создании базы данных, нет необходимости добавлять базу данных из папки /assets.

Вместо этого вы можете использовать SQLiteOpenHelper, который предлагает onCreate() -метод, который может выполнить первоначальное создание таблицы (при необходимости добавьте несколько примеров данных).

Если вы затем обновите свое приложение, вы просто увеличитеВызывается версия базы данных и метод onUpgrade(), где вы можете выполнить обновление базы данных.

См. Этот другой вопрос: Запустите некоторый код, когда пользователь обновит мое приложение

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

0 голосов
/ 15 октября 2011

Сохраните номер версии для каждого изменения и реализуйте метод onUpgrade для возможных комбинаций. Подробнее смотрите в javadoc для SQLiteOpenHelper

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...