Как сохранить мою текущую игру в кеш?

#android #caching #object #surfaceview

#Android #кэширование #объект #просмотр поверхности

Вопрос:

В настоящее время я разрабатываю игру для Android, используя SurfaceView, и я хочу сохранить свой класс / объект игрового поля в кеш.

Не могли бы вы мне помочь.

Спасибо.

Ответ №1:

Ответ №2:

Вы имеете в виду, что хотите сохранить состояние игры на устройстве, чтобы его можно было восстановить при перезапуске приложения? Если да, рассмотрите возможность использования SharedPreferences , как описано здесь: http://developer.android.com/reference/android/content/SharedPreferences.html

Если SharedPreferences не будет работать, вот статья обо всех основных доступных вариантах сохраняемого хранилища: http://developer.android.com/guide/topics/data/data-storage.html

Комментарии:

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

2. @DonDavidJr.Julian Когда вы говорите «кэш», я думаю, вы имеете в виду SharedPreferences . Они сохраняются после остановки приложения и могут быть восстановлены при перезапуске приложения. Кеш обычно относится к данным, которые теряются при остановке приложения (или кеша).

3. итак, где и как следует сохранять мои объекты? спасибо

4. @DonDavidJr.Julian Вы должны «сериализовать» свои объекты, чтобы сохранить их. Это означает превращение их во что-то, что можно сохранить. Распространенные форматы включают XML и Json, но есть и другие. Обычно, однако, вместо сериализации и десериализации объектов проще сохранить только небольшой объем данных для перезапуска игры (например, уровень, оценка, жизни, временной интервал, текущие позиции спрайтов и т. Д.)

5. Я попытался сериализовать свой объект. но мой класс содержит прямые границы полей. и когда я пытаюсь войти в свой класс, он выдает исключение java.io.NotSerializableExeption..