Как сбросить состояния приложения при обновлении с маркета

У меня как у разработчика уже есть приложения, опубликованные на рынке. Когда пользователи загружают новую версию, я хочу, чтобы приложение очищало свои состояния (SharedPreferences, схема SQLite...). Я читал о SQLiteOpenHelper. Я предполагаю, что когда я загружаю новый .apk на устройство из Eclipse, приложение по-прежнему сохраняет свои предыдущие SharedPreferences. Если схема БД изменилась, приложение вылетит.

Можно ли вызвать «чистые состояния» при обновлении приложения с рынка?


person Raymond Chenon    schedule 16.08.2011    source источник
comment
Полностью согласен с @onik, но, честно говоря, не должно быть причин, по которым вы не могли бы перенести или обновить общие настройки вместе с базой данных.   -  person RivieraKid    schedule 16.08.2011
comment
@ RivieraKid Спасибо за перенос этого вопроса. Как новый пользователь на бирже Android, я не мог удалить его. Но я открыл аналогичный на SO stackoverflow.com/questions/7076622/… . Кстати, я спрашиваю, как сбросить все состояния, а не только базу данных или SharedPreferences. – райченон   -  person Raymond Chenon    schedule 17.08.2011


Ответы (1)


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

person onik    schedule 16.08.2011