Я ищу библиотеку, которая обрабатывает HTTP POST, multipart и т.д. Существует ли де-факто стандартная библиотека, чтобы упростить эти запросы на Android?
Какова самая надежная библиотека HTTP для Android?
Ответ 1
Посмотрите DroidFu и, в частности, DroidFu HTTP-компоненты. Они довольно тонкие обертки вокруг HTTP-материалов Apache Commons, но они подходят для большинства потребностей довольно хорошо. Он включает в себя некоторые тонкости, такие как факультативное HTTP и кэширование моделей, и даже "почему это не встроено в платформу", например GZip. (В стороне: android.net.AndroidHttPClient - довольно хорошее обновление для старых вещей DefaultHttpClient, когда вам нужно сбросить немного больше но он только Android 2.2+ и довольно недооценен).
Если вам просто нужно многократное с минимальными проблемами, вы можете попробовать android_multipart_post, хотя я никогда не пробовал.
EDIT:
Теперь DroidFu прекращается. В эти дни, если бы я начинал новый проект, я почти наверняка использовал Volley, OKHttp, если мне нужно больше управления (вы даже можете использовать OKHttp как транспортный уровень для залпа, если вы хотите сделать оба).
Ответ 2
Используйте http-запрос Кевина Савицки. http://kevinsawicki.github.com/http-request/
Ответ 3
Мой любимый Ion (полный, в активной разработке). Он построен поверх AndroidAsync (для использования в одиночку, если вам не нужны функции Ion), как Koushik Датта.
- Асинхронно загружать
- Простой в использовании Fluent API, предназначенный для Android
- HTTP POST/PUT
- Прозрачное использование HTTP-функций и оптимизаций
- Просмотр полученных заголовков
- Группирование и отмена запросов
- Загрузка обратных вызовов процесса
- Поддерживает файл:/, http (s):/и содержимое:/URI
- Регистрация и профилирование уровня запроса
- Поддержка прокси-серверов, таких как Charles Proxy, для анализа запросов
- На основе NIO и AndroidAsync
- Возможность использования самоподписанных сертификатов SSL
Ответ 4
Взгляните на http://loopj.com/android-async-http/
В обзоре говорится: асинхронный клиент Http-клиент для Android, построенный поверх библиотек Apache HttpClient. Все запросы выполняются за пределами основного потока пользовательских интерфейсов приложений, но любая логика обратного вызова будет выполняться в том же потоке, что и обратный вызов, который был создан с помощью передачи сообщения Androids Handler.
Эта библиотека использовалась популярными приложениями, такими как Instagram, Pinterest, Heyzap и т.д.
Ответ 5
Если вы хотите использовать keep alives и gzip и не хотите испытывать случайные ошибки времени, к сожалению, вы не можете просто использовать одну библиотеку.
В версиях Android SDK ниже 9 вы захотите использовать библиотеку apache. В версиях Android версии 9-13 для Android есть проблемы (случайные таймауты), и вы захотите использовать HttpUrlConnection.
К сожалению, в моих тестах на ICS HttpUrlConnection действительно багги, и вы захотите использовать библиотеку Apache на данный момент.
Официальный Google Post на тему: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
Проблема, которую я нашел в ICS: Какой андроид Http-клиент для использования сэндвич с мороженым?
Ответ 6
Есть то, что я делал. Он расширяет библиотеку loopj с помощью обработчиков и загрузчиков, которые создают POJO. https://github.com/MarkoMilos/android-http
Ответ 7
Угу. Его называют httpclient, а корень javadoc для него на Android - http://developer.android.com/reference/org/apache/http/package-summary.html. Он делает все, что вы хотите, с помощью http, включая POST и multipart.