Предупреждение пользователя Android, что обновление приложения может привести к потере данных из старой версии приложения?

Я пишу игру для Android. Когда пользователь завершает уровень, он может перезапуститься со следующего уровня, если он проиграл (т.е. мне нужно сохранить целое число, чтобы запомнить, к какому уровню он попал). Если приложение прерывается во время игры, я сохраняю состояние мира на диске (это сложное состояние, в котором хранятся карта и игровые объекты).

Я хотел бы оставить в будущем открытыми свои опции для изменения кода игры и способа сохранения / сохранения состояния мира. Однако я должен рассмотреть сценарий, когда у пользователя есть старая версия состояния мира на его телефоне, потому что он был в середине игры, он обновляет приложение, и теперь приложение не может загрузить состояние мира.

Необходимость написать код для переноса старой версии данных в новую версию данных будет болезненной, если есть какой-то способ, которым я могу избежать этого. Было бы неплохо, если бы я мог как-то попросить пользователя завершить текущую игру перед обновлением. Можно ли это сделать? Есть ли другие варианты?

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

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

1 ответ

Решение

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

Откровенно говоря, потеря данных из-за обновления недопустима. Если вы используете SQLiteOpenHelper, вы автоматически получаете хорошие хуки, которые помогут вам в процессе обновления.

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

А Android и ПК просто совершенно разные - на ПК вы сидите и играете часами. На Android вы играете очень быстро, а затем делаете что-то еще. Или вы играете и получаете телефонный звонок и вынуждены отказаться от своей игры.

Другие вопросы по тегам