#android #caching #object #surfaceview
#Android #кэширование #объект #просмотр поверхности
Вопрос:
В настоящее время я разрабатываю игру для Android, используя SurfaceView, и я хочу сохранить свой класс / объект игрового поля в кеш.
Не могли бы вы мне помочь.
Спасибо.
Ответ №1:
это должно объяснить это:
http://mobile.tutsplus.com/tutorials/android/android-application-preferences/
Ответ №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..