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

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

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

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

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

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

1 Ответ

1 голос
/ 03 ноября 2010

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

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

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

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

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