Лучший способ отправить данные / файлы в одной передаче на сервер в Android - PullRequest
4 голосов
/ 20 мая 2011

Приложение, которое я имею в работе, использует данные GPS, чтобы пометить файлы в местоположение, которое пользователь затем может вернуться и увидеть в этом месте позже.Однако я застрял на том, как отправлять свои данные на сервер, который я хочу, чтобы пользователи могли видеть позже.

Что мне было интересно узнать от сообщества здесь, - это лучший способ сделать это,У меня уже есть данные GPS от менеджера местоположения и связанных с ним классов, но я не уверен, как отправить их вместе с изображением, звуковым файлом или видео в одной бесшовной передаче данных на сервер, где они могут быть сохранены впозже извлекается устройством в соответствии с привилегиями пользователей.

На сервере данные будут сохраняться в базе данных postgresql, и я хотел бы, чтобы все данные, связанные с каждой загрузкой, были связаны в jsonкакой-то массив, в котором у меня есть приложение, извлекающее данные в массивы json, связанные с позициями и их отметками.

Поэтому я должен отправить данные GPS в виде буквенных строк, которые скрипт на сервере может проанализировать в формате jsonи если да, то возможно ли это сделать с прикрепленным к нему изображением ........ Я знаю, что это возможно, но, полагаю, я просто еще не понял этого.

Или я должен использоватькакая-то библиотека или что-то, что связывает изображение / файлы с данными gps и отправляет их как данные, хранящиеся в массиве json.

1 Ответ

2 голосов
/ 20 мая 2011

Я всегда нахожу отправку текстовых данных (например, значений GPS) проще, если это делается в формате JSON. Если вам нужно также поместить в это файлы изображений / звуков, вы можете сделать это с помощью base64-кодирования данных и поместить полученную строку в JSON. Лично мне не нравится base64 по двум причинам:

  1. Это добавляет около 37% к размеру данных
  2. Если есть проблема с соединением, вам нужно отправить все снова, а не только файлы, которые испортились.

Другой способ - связать изображения / звуки с UDID. Сначала вы отправляете JSON со ссылками, а затем отправляете каждый файл отдельно обработчику на сервере, который принимает UDID в качестве аргумента, чтобы он знал, какой файл принимается. Таким образом, когда возникает проблема с подключением, вам нужно только повторно отправить один файл.

...