2012-04-01 8 views
1

У меня есть 400 записей в моей базе данных, предположим, что это первая версия моего приложения. В следующей версии я добавил более 15 записей и уже изменил 20 из 400. В этом случае мне нужно изменить версию базы данных? и если да, мне нужно что-то сделать в функции onUpgrade() или просто изменить команды, в которые я вставляю, и все будет хорошо?Обновление базы данных Android

спасибо.

+0

Изменилась ли ваша схема? –

+0

Нет, это то же самое. –

+0

Только некоторые поля записей меняются и добавляются дополнительные записи. –

ответ

3

Я думаю, у вас есть база данных с предварительно заполненными записями. Обновляется ли БД пользователями? Если нет, вы можете просто отправить новый файл базы данных в обновленный APK и выполнить его. Если логика приложения позволяет изменять пользовательские базы данных, вы не можете выбросить старую версию при обновлении. Вам нужно будет отслеживать предустановленные изменения записей, где-то поддерживать версию установленной базы данных (то есть в настройках) и обновлять записи при обновлении приложения. Кроме того, вам придется иметь дело с изменениями схемы.

+0

База данных не обновляется пользователями, только я. и схема вообще не изменена, и я хочу удалить все предыдущие данные и все их снова. –

+1

Просто отправьте свежий файл с обновлением. Если он скопирован из активов в папку данных, скопируйте файл при обновлении. –

+0

Я вставляю данные (написанные в коде/не из файла) с использованием логических общих предпочтений для первого посещения приложения, могу ли я только установить значение boolean по умолчанию при обновлении? и измените версию базы данных при обновлении. –

1
Update() 

вызывается при изменении уже существующих данных столбцов.

onUpgrade() 

вызывается при изменении структуры таблицы. например, если вы добавите столбец.

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