Отправка объектов из GAE PersistenceManger в Android - PullRequest
0 голосов
/ 03 апреля 2011

Я пишу приложение для Android, которое взаимодействует с сервером Google App Engine.Сервер хранит постоянные данные, которые он сохраняет и выбирает, используя PersistenceManager.Теперь я настроил это следующим образом:

  • Класс @PersistenceCapable на сервере с именем StoredThingToRemember содержит информацию для запоминания, а также некоторые постоянные объекты GAE jazz.
  • Когда клиент Android хочет получить ThingToRemember, он отправляет HTTP-запрос на сервер, который выбирает StoredThingToRemember из PersistenceManager, преобразует его в ThingToRemember implements Serializable, сериализует его как byte[], затем отправляет его в ответе HTTP.
  • Клиент десериализует ThingToRemember и использует его.

Это работает, но кажется странным.В идеале я хотел бы сериализовать и отправить сам StoredThingToRemember.К сожалению, для этого требуется поместить все классы персистентности объектов GAE в приложение Android, что выглядит глупо и расточительно.

Как правильно извлечь объект из персистентности GAE и затем использовать этот объект в Androidприложение?

1 Ответ

2 голосов
/ 04 апреля 2011

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

Вместо этого вы должны сериализоваться в независимый от языка формат, такой как XML или JSON.

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