AndroidHttpClient и HttpUrlConnection для уровня API 9 и выше

Что лучше для уровня API 9 (имбирный пряник) и почему? Есть ли какая-то польза от использования AndroidHttpClient вместо HttpUrlConnection?

Любая помощь или руководство будут высоко оценены.


person abhishek kumar gupta    schedule 28.02.2014    source источник
comment
Пожалуйста, опишите, что вы хотите сделать. Скачать изображения? Синхронизировать данные с вашим сервером? Какие данные вы отправляете/получаете? Сколько кругосветок у вас будет? Легко ли данные сжимаются? Вы отправляете/получаете данные в фоновой службе или в действии, пока пользователь их ждет? Что, если пользователь переключится на другое действие? Выбросить/отменить запрос или сохранить результат для дальнейшего использования? Если хотите, вы можете отредактировать свой вопрос (лучше читаемый для всех нас).   -  person hgoebl    schedule 28.02.2014


Ответы (1)


Google не рекомендует использовать AndroidHttpClient, только на очень старых версиях Android.

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

По этой причине для разработчиков Android было разработано множество библиотек. Вы можете найти список (и конкретную реализацию, кстати) по адресу DavidWebb. Существуют низкоуровневые библиотеки и некоторые очень мощные, которые снимают с вас бремя фоновой обработки.

Изменить

В: Есть ли польза от использования AndroidHttpClient?

A: С точки зрения программирования AndroidHttpClient намного проще в использовании. Но как говорит Google, из-за сложностей с обратной совместимостью они не могут улучшить этот класс и вместо этого кладут все силы на улучшение HUC (сокр. от HttpURLConnection). Для меня это звучит как «мы позволим AndroidHttpClient умереть». Конечно, я полагаю, что этот класс будет присутствовать во всех будущих версиях Android SDK, но HUC делает много интеллектуальных вещей под капотом, например. прозрачное сжатие загрузки.

tl;dr Я бы не стал использовать AndroidHttpClient для текущей разработки приложений.

person hgoebl    schedule 28.02.2014
comment
Привет, hgoebl, спасибо за быстрый ответ. Есть ли какая-либо польза/преимущество использования AndroidHttpClient? - person abhishek kumar gupta; 28.02.2014
comment
Начиная с версии 23, AndroidHttpClient недоступен, кроме как через внешние библиотеки. - person Greg Bogumil; 05.05.2016