Подтвердить что ты не робот

Какова самая надежная библиотека HTTP для Android?

Я ищу библиотеку, которая обрабатывает HTTP POST, multipart и т.д. Существует ли де-факто стандартная библиотека, чтобы упростить эти запросы на Android?

4b9b3361

Ответ 1

Посмотрите DroidFu и, в частности, DroidFu HTTP-компоненты. Они довольно тонкие обертки вокруг HTTP-материалов Apache Commons, но они подходят для большинства потребностей довольно хорошо. Он включает в себя некоторые тонкости, такие как факультативное HTTP и кэширование моделей, и даже "почему это не встроено в платформу", например GZip. (В стороне: android.net.AndroidHttPClient - довольно хорошее обновление для старых вещей DefaultHttpClient, когда вам нужно сбросить немного больше но он только Android 2.2+ и довольно недооценен).

Если вам просто нужно многократное с минимальными проблемами, вы можете попробовать android_multipart_post, хотя я никогда не пробовал.

EDIT:

Теперь DroidFu прекращается. В эти дни, если бы я начинал новый проект, я почти наверняка использовал Volley, OKHttp, если мне нужно больше управления (вы даже можете использовать OKHttp как транспортный уровень для залпа, если вы хотите сделать оба).

Ответ 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