Стратегия обновления Android-приложения (с базой данных) - PullRequest
5 голосов
/ 19 февраля 2012

Пожалуйста, прости меня, если на этот вопрос ответили - я искал и не смог его найти.

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

Нужно ли что-то делать в onUpgrade, чтобы обеспечить сохранение базы данных, или я могу оставить один компонент БД для этого обновления?

Ответы [ 3 ]

5 голосов
/ 19 февраля 2012

Метод onUpgrade () используется в случае изменения версии.Это означает, что базу данных, хранящуюся в телефоне, необходимо изменить, удалить или удалить, а также создать новую базу данных.Поскольку ваше приложение не имеет ни одного из этих требований, вы можете оставить материал БД для этого обновления.

4 голосов
/ 19 февраля 2012

Эта связанная статья может помочь вам в вашем вопросе.

Насколько я понимаю, вам нужно поместить код изменения базы данных в onUpdate (), если вы ХОТИТЕобновление между версиями.Но поскольку вы не собираетесь и, вероятно, сохраняете версию базы данных, у вас, скорее всего, не возникнет никаких проблем.

1 голос
/ 04 ноября 2016

Обновление НЕ будет мешать SQLite.Изменения в структуре БД не будут реализованы, если вы не сделаете это программно (в методе onUpgrade) или не удалите и не переустановите свое приложение.

Пока вы обновляете то же самое приложение, ваша БД не будет затронута и ваши данные также не будут затронуты.Если вы измените ключ подписи, используемый при создании вашего apk, ваш db будет воссоздан.

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

ПРИМЕЧАНИЕ. При отладке я просто удаляю и переустанавливаю приложениекаждый раз, когда я делаю изменения в БД, но в производстве вы НЕ хотите этого делать.

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