2010-10-04 3 views
1

У меня возник вопрос, когда вы распространяете свое приложение с существующей БД.Android SQLite DB Вопрос

Сейчас я создал базовое приложение, и, насколько я понимаю, файл .db должен находиться в папке с ресурсами, а когда пользователь сначала запускает ваше приложение, он должен проверить, существует ли база данных в \ data \ data \ folder, если его нет, он должен скопировать его ... правильно?

Вопрос в том, что касается обновлений? Когда пользователь загружает обновление в указанное приложение, нам нужно будет добавить больше строк в пару определенных таблиц (я думаю, что всего около 8 таблиц). Как это должно быть обработано? Должна ли БД быть полностью перезаписана или есть способ скопировать различия?

Благодарим за помощь! Извините, если это звучит немного запутанно.

ответ

1

Это может быть использовано для вас SQLiteOpenHelper.onUpgrade.

Вы можете прочитать Notepad tutoria l, если вы хотите увидеть пример в действии.

+0

Черт, это был быстрый ответ! Спасибо! – dagonal

+0

Я сейчас работаю, поэтому я не могу проверить ... но как приложение знает, какая версия БД? В базе данных нет поля для изменения ... – dagonal

+0

Версия базы данных сохраняется как значение прагмы: например, введите 'PRAGMA user_version' в приглашении sqlite3, чтобы просмотреть текущую версию базы данных. – Veeti

0

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

Смежные вопросы