Я нуждаюсь к сериализации всестороннего приложения (игра) состояние, которое будет передано по сети или сохранено на диск и получено в более позднее время.
Пакеты, конечно, используются для сохранения/восстанавливания состояний в нескольких вариантах использования, так использование их было бы идеально. Однако по некоторым причинам Пакет не является сериализуемым.
Поиск решения только поднял недопустимый взлом превращения Пакета в Пакет и затем маршалинг, что, но это не приемлемое решение, потому что нет никакой гарантии, что это будет возможно в неМаршалл данные позднее или на удаленном устройстве.
Таким образом, поскольку это смотрит теперь, единственное решение, кажется, чтобы получить весь набор ключей от Пакета, получить каждый содержащий в нем объект, сделать довольно огромный переключатель/случай на каждом Объекте. Класс и вручную создает гиганта ByteBuffer или подобный от всех этих данных, наряду с размером и вводит информацию для успешного восстановления всего этого с другой стороны.
Не точно гладкий.
Кто-либо знает о лучшем пути? Возможно, кто-то уже создал служебную функцию для Пакета, который делает это?
Отличный вопрос! Интересно, вам нужно сериализовать весь пакет или только содержащуюся в нем информацию? Возможно, вам нужна только информация, которую вы можете сохранить в любом типе (String, List или Array). Посмотрите на подклассы java.io.Serializable, который является огромным.