Я пытаюсь создать игру LUDO, и когда пользователь останавливает игру, я хочу сохранить состояние игры (состояние активности).
Я понял, что мне нужно сохранить состояние в методе OnPause(), но есть много переменных, которые мне нужно сохранить, и все они меняются во времени, поэтому я не уверен, что могу сохранить состояние таким образом.
Могу ли я сохранить весь метод Activity и OnResume(), чтобы восстановить его и продолжить игру?
Благодарю.
Не знаю, что вы имеете в виду, изменяя во времени. Вы говорите, что ваша игра прогрессирует, даже когда игрок не играет? Обычно вы сохраняете только минимальный объем информации, необходимой для воссоздания текущего состояния. Для настольной игры это может быть расположение частей каждого игрока, и в свою очередь это так.
Если у вас действительно так много игрового состояния, что было бы громоздко сохранять и восстанавливать, или игра должна развиваться, пока активность закрыта, или воссоздание состояния из статических данных слишком сложно (все предложения, которые я, вероятно, оспаривал бы, но мы может принять это за обсуждение), тогда я бы предложил вам написать его как приложение клиент-сервер, где Android-сервис запускает движок игры, а ваша активность выполняет все визуальные эффекты и взаимодействие с пользователем.
Я думаю, что вы ищете Как сохранить состояние приложения Android.
В документации также содержится подробная информация о сохранении постоянного состояния с onPause
.
onPause
, поэтому вы, вероятно, захотите сохранить большую часть состояния в этом методе.