Android, Сериализуемая / Parcelable проблема в клиент-серверном приложении - PullRequest
1 голос
/ 02 марта 2010

Я хочу отправлять сложные данные с моего андроида на удаленный сервер через TCP-сокеты. Я знаю, что мне нужно сериализовать объекты. В Android это делается через parcelable. Но это интерфейс для Android, и сервер знает только сериализуемый интерфейс. Также андроид не знает сериализуемого интерфейса.

И андроид, и сервер должны «знать» объект, но они реализованы двумя различными способами (сервер -> сериализуемый, android -> парсеральный)

Как правильно использовать эти интерфейсы, чтобы я мог успешно отправлять объекты через TCP на сервер?

Ответы [ 3 ]

2 голосов
/ 02 марта 2010

Почему бы не использовать простую сериализацию XML, работает как с Android, так и с Java 1.5+. Он расположен на следующем сайте.

http://simple.sourceforge.net

Кроме того, платформа довольно мала и подходит для мобильной платформы (около 270 Кбайт без каких-либо зависимостей). И он гораздо более производительный, чем большинство XML-сериализаций или инфраструктур связывания.

1 голос
/ 02 марта 2010

У нас была такая же проблема на работе, и мы переключились на JSON. Может быть, вам стоит подумать о том же?!

Редактировать: Android знает интерфейс Serializable. Как я мог забыть ...

0 голосов
/ 11 ноября 2011

Согласно http://developer.android.com/reference/android/os/Parcel.html нецелесообразно использовать посылку для постоянной (или сетевой) сериализации:

Посылка не является механизмом сериализации общего назначения. Этот класс (и соответствующий Parcelable API для размещения произвольных объектов в посылку) разработан как высокопроизводительный транспорт IPC. Как таким образом, нецелесообразно помещать какие-либо данные о посылках в постоянные хранение: изменения в базовой реализации любых данных в посылке можно сделать старые данные нечитаемыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...