Cristian здесь говорит: ваши данные приложения будет оставаться при установке обновлений пользователя.
Но он должен быть таким же, package name
чтобы обнаруживать обновление предыдущего приложения.
EboMike предупреждает пользователя Android, что обновление приложения может привести к потере данных из старой версии приложения? говорит:
Откровенно говоря, потеря данных из-за обновления недопустима.
Редактировать :
Обычно SharedPreferences (как и другие пользовательские данные) сохраняются во время процесса обновления, но иногда из-за какой-то « неизвестной » проблемы данные могут быть потеряны, и я думаю, это вне вашего контроля. Итак, вы можете просто поверить, что SharedPreferences будут сохранены ( см. Здесь ).
Итак, если вы хотите избежать очистки данных пользователя в процессе обновления, вам необходимо сохранить основные данные во внешнем хранилище (это может быть съемный носитель, например, SD-карта, или внутреннее несъемное хранилище), а не закрыто для вашего приложения. Или, по крайней мере, отложите, чтобы пользователь мог сделать резервную копию данных перед обновлением. Затем при первом запуске вашего (обновленного) приложения проверьте, есть ли файл резервной копии во внешнем хранилище или нет.
Если вы хотите знать, что должно / может произойти при обновлении приложения? Я не сделал любое описание хорошо для this.It осложняется и относительной с Android Security
, Application signing
, copy protection
и другие topics.I означает , что если вы измените состояние вашего приложения в любых указанных выше областях, это вызывает другой результат.
Например, если вы CHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON
, ваше приложение будет обновлено, но все ваши общие настройки будут потеряны, доступ к файлам будет невозможен и ...
Хотя вы должны быть осторожны в условиях, потому что ваше новое приложение being considered
является обновлением для предыдущего приложения (см. Вещи, которые не могут измениться ).
Также вы должны позаботиться о своем коде, это может быть вызвано удалением данных ваших баз данных (см. Приложение для обновления с предварительно загруженным SQLite ).
Но в конечном итоге, если быть осторожным, можно сказать:
Процесс обновления заменяет только файл apk (и то, что в нем, например, чертежи, ...), и не изменяет базы данных, общие настройки и любые другие файлы, созданные во время выполнения (вероятно, в этом случае новое приложение устанавливается с UID, равный UID предыдущего приложения).
Вы можете увидеть эти страницы для более подробной информации:
Помогите!? Обновление нашего приложения на рынке удаляет сохраненные SharedPreferences.
Защита от копирования Market полностью закрывает доступ к файлам после обновления.
Может кто-нибудь объяснить процесс обновления приложения?