Какова самая надежная библиотека HTTP для Android? [закрыто]

17

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

    
задан hunterp 01.06.2011 в 21:09
источник
  • Я столкнулся с этой асинхронной HTTP-библиотекой недавно, но loopj.com/android-async-http еще не пробовал. Он создан для упрощения асинхронной обработки HTTP. –  rineez 01.05.2012 в 22:09
  • Очень хорошая библиотека для асинхронных запросов. Только у меня есть проблемы, связанные с тем, что я не могу получить доступ к заголовкам ответов моего ответа на HTTP-запрос. –  Zapnologica 15.08.2013 в 15:03
  • Не используйте Loopj Async Http Client, это действительно отстой, потоки умирают, и вы даже не знаете, очень плохое объединение потоков. ION намного лучше использовать этот github.com/koush/ion –  AZ_ 19.03.2014 в 04:21

7 ответов

8

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

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

EDIT:

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

    
ответ дан Yoni Samlan 01.06.2011 в 21:29
источник
  • неясно, как установить параметры http post, например пары имя / значение в дроидфу –  hunterp 01.06.2011 в 22:16
  • Использовать метод post BetterHttpRequest для построения запроса; передайте ему URL-адрес и объект HTTP (для простых пар имя / значение вы можете просто передать UrlEncodedFormEntity, состоящий из списка BasicNameValuePairs. –  Yoni Samlan 02.06.2011 в 22:44
  • Android прекратил поддержку своего Apache HttpClient в соответствии с этим сообщением в блоге. Было бы неплохо иметь библиотеку, которая обернула бы оба, и выбрать, какой из них использовать на основе кода версии ОС. –  yincrash 28.09.2012 в 23:53
  • Между Volley и Retrofit, который вы бы выбрали? благодаря –  Joolah 20.11.2015 в 03:53
  • Большинство ссылок в этом ответе дают 404 ошибки. Можете ли вы обновить ссылки? –  Adil Malik 21.12.2015 в 20:13
7

Используйте http-запрос Кевина Савицки. Ссылка

    
ответ дан Donn Felker 04.12.2012 в 21:52
источник
  • Очень красивая и простая, простая в использовании библиотека. Также при необходимости имеет несколько дополнительных функций. Например, gzip, кеширование, HTTP-прокси и т. Д. –  Zapnologica 15.08.2013 в 15:01
  • Очень хорошая библиотека, гораздо проще в использовании, чем android-async-http. Но так хорошо. –  Loolooii 14.01.2015 в 18:22
7

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

  • Асинхронно загружать
  • Простой в использовании Fluent API, предназначенный для Android
  • HTTP POST / PUT
  • Прозрачное использование HTTP-функций и оптимизаций
  • Просмотр полученных заголовков
  • Группирование и отмена запросов
  • Загрузка обратных вызовов процесса
  • Поддерживает файл: /, http (s): / и содержимое: / URI
  • Регистрация и профилирование уровня запроса
  • Поддержка прокси-серверов, таких как Charles Proxy, для анализа запросов
  • На основе NIO и AndroidAsync
  • Возможность использования самоподписанных сертификатов SSL
ответ дан caligari 05.12.2013 в 19:19
источник
6

Посмотрите Ссылка

В обзоре говорится: асинхронный клиент Http-клиент для Android, основанный на библиотеках HttpClient от Apache. Все запросы производятся вне основного потока пользовательского интерфейса вашего приложения, но любая логика обратного вызова будет выполнена в том же потоке, что и обратный вызов, который был создан при передаче сообщения обработчика Android.

Эта библиотека использовалась популярными приложениями, такими как Instagram, Pinterest, Heyzap и т. д.

    
ответ дан Bakyt 30.01.2013 в 17:49
источник
3

Если вы хотите использовать keep alives и gzip и не хотите испытывать случайные ошибки времени, к сожалению, вы не можете просто использовать одну библиотеку.

В версиях Android SDK ниже 9 вы захотите использовать библиотеку apache. В версиях Android версии 9-13 для Android есть проблемы (случайные таймауты), и вы захотите использовать HttpUrlConnection.

К сожалению, в моих тестах на ICS HttpUrlConnection действительно багги, и вы захотите использовать библиотеку Apache на данный момент.

Официальный Google Post на тему: Ссылка

Проблема, которую я нашел в ICS: Какой клиент для Android-андроида использовать для сэндвича с мороженым?     

ответ дан radiofrequency 26.11.2011 в 19:55
источник
0

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

    
ответ дан MarkoMilos 29.09.2013 в 18:41
источник
-5

Угу. Его называют httpclient, а корень javadoc для него на Android - Ссылка . Он делает все, что вы хотите, с помощью http, включая POST и multipart.

    
ответ дан Femi 01.06.2011 в 21:11
источник
  • Я сказал «надежный». Я ищу библиотеку, которая основывается на этих стандартных вызовах API, чтобы сделать сообщение проще. Это колесо было разрешено много раз. –  hunterp 01.06.2011 в 21:16
  • Ах, я не знал, что они так тяжело. Дайте мне знать, если вы найдете что-нибудь. –  Femi 01.06.2011 в 21:18
  • что-то вроде этого: lukencode.com/2010/04/27/... но более надежный. –  hunterp 01.06.2011 в 21:23