Передача изображений между клиентом Java, сервером Java (с использованием db sortage) и телефоном Android - PullRequest
2 голосов
/ 24 февраля 2011

Я создал набор приложений из трех программ. Первая программа - это приложение Java, которое берет файл изображения, изменяет его размер и создает объект с дополнительными строками для использования в клиенте Android.

Вторая программа - это сервлет Java (RESTful services atm), который принимает закачки из первой программы и сохраняет объект в базе данных, а затем отправляет эти объекты в другие приложения Java и на телефоны Android.

Третья программа - это приложение для Android, которое нуждается в загрузке объектов с сервера, сохранении их на SD-карту и последующем доступе к ним для использования.

Я хотел просто использовать RMI для передачи объектов по сети, но Android не поддерживает RMI, поэтому я начал изучать XML-RPC и в конце концов решил попробовать сервисы RESTful в качестве веб-контроллера для загрузки и выгрузки. У меня проблема с выяснением того, как кодировать мои данные.

Один класс имеет ArrayList объектов, которые содержат строки.

В одном классе есть изображение и несколько строк.

Будет больше классов с различным количеством строк и изображений.

В данный момент я пытаюсь использовать Gson для кодирования объектов в JSON, но, похоже, это не работает при просмотре файла, он не может обработать ArrayList. Я думаю о преобразовании изображений в строки Base64, чтобы упростить хранение.

Как мне обращаться с моими данными и каким сервером я могу пользоваться? В идеале я хотел бы просто получить данные в исходном приложении Java, а затем просто передать объекты на сервер и другим клиентам.

Спасибо!

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Рассматривали ли вы использование Atom Feeds и Entries? Смотри http://www.ietf.org/rfc/rfc4287.txt

Atom вполне способен обрабатывать списки вещей и ссылки на медиа-объекты, такие как изображения.

1 голос
/ 24 февраля 2011

Если вы делаете XML RPC, вам придется кодировать данные изображения в base64. Вы также можете попробовать использовать JSON RPC (так будет проще). Таким образом, ArrayList станет JSONArray ["string1", "string2", ..], и вы также можете добавить данные изображения в микширование, используя структуру типа

{
  "strings": ["string1","string2",...],
  "imageData": "base64 encoded image data"
}

Для получения дополнительной информации о JSON вы можете взглянуть на пакет org.json в комплекте с Android SDK.

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