Исключение сериализации Android для Google App Engine

#java #android #google-app-engine #serialization

#java #Android #google-app-engine #сериализация

Вопрос:

Я сериализую объектный граф в коде Android и передаю результат сервлету GAE. При десериализации я иногда получаю следующее исключение:

java.io.StreamCorruptedException: недопустимый код типа: 71

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

Есть идеи?

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

1. Пожалуйста, укажите тип переменной / модификатора доступа.

2. общедоступная двойка deuce; (Двойка — это перечисление). На самом деле я отказался от собственной сериализации объектов Java на Android и уже внедрил сериализацию на основе XML.

Ответ №1:

Я предлагаю использовать буферы протокола JSON или Google вместо собственного кода сериализации. Его намного проще расширять и поддерживать. XML также является вариантом, но он самый медленный для сериализации / десериализации, а также наименее компактный формат по сравнению с JSON / protobuf.