Переустановка приложения без потери данных

Ответить
kasperdun
Сообщения: 12
Зарегистрирован: 24 ноя 2014, 22:35

Переустановка приложения без потери данных

Сообщение kasperdun » 24 ноя 2014, 23:01

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

В общем пишу приложение, пока основной акцент делаю на функциональной составляющей.
Собирал за день данные за каждый час и сохранял в SharedPreferences. (т.к. удобно, ибо сохраняю объект с использованием собственных классов с нестандартными типами полей, для сохранения использую библиотеку Complex Preferences, ссылку не дам, но на гитхабе не сложно найти, да и речь не об этом.)

Сейчас нужно установить на устройство свежую сборку приложения, однако "эклипс" меня предупреждает, что из-за того, что приложение с такой подписью уже существует, оно будет удалено, а данные сотрутся.
Этот вариант меня совершенно не устраивает.
Что с этим сделать?
И правильно ли я выбрал место хранения данных, если мне необходимо (может и не так уж необходимо, но хотелки это святое), чтобы данные не стирались при удалении приложения, но и были недоступны другим приложениям.
Изображение

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

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Переустановка приложения без потери данных

Сообщение klblk » 25 ноя 2014, 07:42

Меняется дебажный ключ, которым подписывается приложение, по какой причине не знаю. Может вы работаете с одним проектом на разных пк (дебажные ключи по умолчанию будут везде разные). Но такая проблема возникает только с разными дебажными ключами. В случае с релизом в выкладыванием на маркет приложение будет обновляться и данные никуда пропадать не будут, так как с другим ключем приложение вам не позволят обновить.
Как вариант в Eclipse->Windows->Preferences->Android->Build->Custom debug keystore и указать конкретный ключ и использовать только его, по идее должно помочь

П.с. Собираемые данные лучше и правильнее хранить в БД, а не в SharedPreferences.

kasperdun
Сообщения: 12
Зарегистрирован: 24 ноя 2014, 22:35

Re: Переустановка приложения без потери данных

Сообщение kasperdun » 25 ноя 2014, 07:52

Да так и есть, работаю с разных ПК. Спасибо

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Переустановка приложения без потери данных

Сообщение doter.ua » 25 ноя 2014, 11:39

kasperdun писал(а):Да так и есть, работаю с разных ПК. Спасибо
Не используешь систему контроля версий? git svn ?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

kasperdun
Сообщения: 12
Зарегистрирован: 24 ноя 2014, 22:35

Re: Переустановка приложения без потери данных

Сообщение kasperdun » 25 ноя 2014, 13:16

doter.ua писал(а):
kasperdun писал(а):Да так и есть, работаю с разных ПК. Спасибо
Не используешь систему контроля версий? git svn ?
Нет, а зачем оно нужно и как помогает? Не интересовался раньше этим для андроида

Vivian19
Сообщения: 4
Зарегистрирован: 20 янв 2022, 05:26
Контактная информация:

Re: Переустановка приложения без потери данных

Сообщение Vivian19 » 13 авг 2024, 17:14

Если подпись APK-файла совпадает с уже установленным приложением, Android пытается сохранить пользовательские данные и настройки. Однако, если произошли изменения в структуре приложения geometry dash (например, изменение структуры базы данных или какие-то критические изменения в манифесте), система может решить, что безопаснее удалить приложение вместе с данными.

Ответить