URLConnection или HTTPClient: что обеспечивает лучшую функциональность и эффективность?

Я хочу создать форму для входа в приложение для Android. Я хочу использовать метод post для отправки информации на серверную сторону, где она является дескриптором файла PHP; Который, в свою очередь, проверяет параметры и отправляет ответ.

Я просматриваю реализации с использованием HttpClient и URLConnection, они очень похожи. Что более эффективно для использования в приложении Android?

Спасибо, Fabii

Solutions Collecting From Web of "URLConnection или HTTPClient: что обеспечивает лучшую функциональность и эффективность?"

Я считаю, что в этом случае все зависит от того, какой API вы считаете более естественным. Как правило, HTTPClient более эффективен внутри приложения на стороне сервера (или, возможно, пакетного приложения), поскольку он позволяет указать многопоточный пул соединений с максимальным количеством общих подключений и максимальным количеством подключений к хосту (что обеспечивает одновременное подключение к Тот же хост не получает сериализован (проблема с HttpUrlConnection)). Но в приложении для Android вы, вероятно, будете создавать только одно соединение за раз, поэтому это не имеет значения.

Я немного поработал над этим, я давно использую Apache HttpClient в Android. Это выглядело естественным выбором для меня и подумало, что со временем оно будет улучшено.

С другой стороны, пока я разрабатывал для старого BlackBerryOS, я использовал HttpUrlConnection.

Для меня было очевидно, что производительность BB была лучше, чем Android в контексте сетей.

HttpClient – это полностью функциональный, но плохой класс, который предоставляет огромный набор API / методов. Его можно использовать для создания полнофункционального WebBrowser для Android. Но у него есть некоторые проблемы с более старой версией Android, и Google не очень активно продвигает их.

В то время как HttpUrlConnection имеет довольно полезный API, который просто полезен для разработки сетевого клиентского приложения. Он улучшил кэширование ответов и улучшил технологию сжатия на Android 2.3 и выше. Он возобновляется при создании сетевого клиентского приложения.

«Apache HTTPClient имеет меньше ошибок в Eclair и Froyo. Это лучший выбор для этих выпусков.

Для Gingerbread и лучше, HttpURLConnection – лучший выбор. Его простой API и небольшие размеры делают его очень подходящим для Android. Прозрачное сжатие и ответное кэширование уменьшают использование сети, улучшают скорость и экономят аккумулятор. Новые приложения должны использовать HttpURLConnection; Именно там Google будет тратить свою энергию вперед ».

См. Подробности

http://android-developers.blogspot.in/2011/09/androids-http-clients.html

Согласно команде андроида, вы должны использовать HttpURLConnection на Gingerbread и лучше, так как именно там они начнут новые усилия по разработке.

http://android-developers.blogspot.de/2011/09/androids-http-clients.html

Изменить: В эти дни я нашел okhttp by Square, который включает поддержку SPDY и автоматические повторы: https://github.com/square/okhttp

Если вы не пытаетесь отправлять и получать большие файлы, я бы предложил HttpClient.
Гораздо проще начать работу и использовать, и в Интернете есть гораздо больше рабочих примеров.

ПРИМЕЧАНИЕ. Это HttpClient отличается от HTTPClient (примечание), что является другой реализацией поставщика.

Хотя тег специально предназначен для Android, в целом HttpURLConnection также является лучшим выбором, когда дело доходит до приложений Java EE, поскольку он будет использовать стек HTTP, который поставляется с сервером приложений, который включает в себя настройку сертификатов HTTPS на уровне сервера приложений, а не код.

Он также позволит вам получить последнюю версию SSL, предоставляемую стеке сервера приложений, вместо того, чтобы застрять в старой версии httpclient, которая может не работать с TLS 1.2