Скачать / загрузить изображение с Android - PullRequest
0 голосов
/ 20 ноября 2011

Прежде всего, у меня еще нет написанного кода, я нахожусь только на этапе проектирования / мышления, поэтому я провожу некоторые исследования о том, как делать то, что я хочу сделать, этот пост, чтобы получить некоторые ориентиры прежде чем я начну кодировать.

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

Я имею в виду создание некоторых веб-служб, в том числе службы передачи, чтобы я мог загружать и выгружать изображения из моей базы данных и в нее; база данных MongoDB - база данных No-SQL (No-RDBMS). Эта база данных основана на документах, что делает запросы очень быстрыми, и хранение бинарных файлов перестает быть проблемой.

Но вот мой первый вопрос: Хорошо ли загружать / скачивать файл с помощью веб-службы? специально для мобильных устройств ?. Если не то, что я могу использовать, если это не проблема, какой фреймворк я должен использовать (я думаю, Axis2) и почему. Я постараюсь сделать размер файла наименьшим из возможных, используя некоторые библиотеки для улучшения времени передачи.

Второй вопрос: будет ли лучше сделать пакетную загрузку в определенное время дня или загрузить файлы сразу после завершения операций на устройстве? , я знаю, что это просто вопрос, но это квест просвещения, и я хочу знать, особенно на мобильных устройствах, что лучше.

Теперь, Какой поток я должен использовать для загрузки / выгрузки? Я читал, и преобразование изображения в байтовый массив потребляет много ресурсов ЦП, и я не хочу мое приложение должно быть вялым, но это самый простой способ. Затем для передачи используется DataHandlers, но это кажется сложным, но не слишком резким для процессора (если я ошибаюсь, пожалуйста, исправьте меня во всем, что я здесь говорю), так что я не знаю, что использовать.

Спасибо за ваше время и за чтение этой стены текста, но я пытаюсь улучшить свои навыки, поэтому любая помощь будет принята с благодарностью.

Редактировать

Я нашел эту тему чрезвычайно полезной для того, что я пытаюсь сделать:

Тема

Ответы [ 2 ]

1 голос
/ 20 ноября 2011
Is it good to upload/download a file using a web service? 

Да, вы можете, используя веб-сервис, вы можете легко загрузить / загрузить файл с сервера.Но вы также должны выполнить scrpting на стороне сервера (используйте PHP, .net и т. Д.).Это также полезно для будущего использования, просто вам нужно изменить адрес для сервера.

It is better to make a batch upload at specific times of day, or upload the files immediately after the operations are finished on the device?

Вы можете достичь в соответствии с вашими потребностями и доступностью сети, а также номером операции с файлом для загрузки.Вы можете сделать это в фоновом режиме (используя AsyncTask, Service, Thread и т. Д.), Пока ваше приложение работает, поэтому я думаю, что нет никаких накладных расходов на вашу активность веб-интерфейса.данные на сервере или операционные данные на сервере.Если вы использовали прямой файл (имеется одна библиотека apache) по запросу веб-службы для загрузки загрузки, я думаю, вам не нужно выполнять сложную работу по преобразованию данных в ByteArray (но я думаю, что в фоновом режиме это происходит).

Надеюсь, теперь ваша работа выполнена.

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

Если бы это был я, я бы использовал сокеты для связи.После того, как каждое изображение захвачено, помечено и т. Д., Создайте новый поток для загрузки - возможно, даже сервис, поэтому, если ваше приложение закрыто, загрузка продолжится.Вы можете отслеживать прогресс в верхнем баре ала рынка.Ваш телефон может сделать своего рода CRC до того, как вы начнете загрузку, а затем сервер сделает то же самое после того, как это будет сделано, так что у вас также есть проверка ошибок.Вы можете поставить в очередь все загрузки в вашем сервисе.

Преобразование в массив BYTE на самом деле не такая уж большая проблема.Esp, если вы пропустите весь процесс.

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