URLConnection ou HTTPClient : Qui offre de meilleures fonctionnalités et plus d'efficacité?
Je cherche à créer un formulaire de connexion pour une application android. Je veux utiliser une méthode post pour envoyer des informations au serveur où il est gérer par un fichier PHP, qui valide les paramètres et renvoie une réponse.
J'ai regarder à travers les implémentations de l'aide HttpClient et URLConnection, ils sont très similaires.Ce qui est plus efficace pour l'utilisation dans une application android?
Merci
Fabii
Découvrez le fonctionnaire android blog ici, vaut la peine de lire.
Double Possible de stackoverflow.com/q/4799151/741249
Double Possible de stackoverflow.com/q/4799151/741249
OriginalL'auteur Fabii | 2012-03-04
Vous devez vous connecter pour publier un commentaire.
Je crois que dans ce cas c'est à quel API, vous trouvez plus naturel. Généralement, HTTPClient est plus efficace à l'intérieur d'un serveur d'application (ou peut-être le lot de l'application), car il vous permet de spécifier un multithread pool de connexion, avec un nombre max de connexions totales, et un max par connexion hôte temps (ce qui assure des connexions simultanées sur le même hôte ne pas être sérialisé (un problème avec HttpUrlConnection)). Mais dans une application android, vous aurez probablement seulement être faire une seule connexion à la fois, donc ce n'est pas grave.
OriginalL'auteur Kevin
J'ai fait un peu de recherche sur ce,
J'ai été en utilisant Apache HttpClient pour une longue période dans Android.
C'était un choix naturel pour moi et de la pensée qu'il sera amélioré au fil du temps.
De l'autre côté alors que j'étais en développement pour l'héritage BlackBerryOS, j'ai été en utilisant
HttpUrlConnection.
Il était évident pour moi que la performance de BB était mieux que Android dans le contexte de la mise en réseau.
HttpClient est entièrement fonctionnelle, mais buggy classe qui fournit un vaste ensemble d'Api/méthodes. Il peut être utilisé pour créer une application totalement fonctionnelle WebBrowser pour Android. Mais il a quelques problèmes sur une ancienne version d'Android et ses pas activement contribué à par Google.
Alors que HttpUrlConnection a une assez utile API qui est seulement utile pour développer un client de réseau de l'application. Il a amélioré la réponse de la mise en cache et l'amélioration de la technique de compression sur Android 2.3 et au-dessus. Il est repris lorsque vous créez un client de réseau de l'application.
"Apache HTTPClient a moins de bugs sur Eclair et Froyo. C'est le meilleur choix pour ces versions.
Pour pain d'épice et mieux, HttpURLConnection est le meilleur choix. Son API simple et de petite taille le rend idéal pour les Android. Transparents de la compression et de la réponse mise en cache de réduire l'utilisation du réseau, d'améliorer la vitesse et économiser la batterie. Les nouvelles applications devraient utiliser HttpURLConnection; c'est là que Google va dépenser son énergie à l'avenir."
Se référer pour plus de détails
http://android-developers.blogspot.in/2011/09/androids-http-clients.html
Peut-être vous devriez citer la référence.
Pourriez-vous s'il vous plaît laissez-nous savoir quel genre de différences de performances que vous avez rencontrées? Spécifiques, en dehors de la mémoire cache, la compression.
OriginalL'auteur JaydeepW
Selon le android équipe vous devriez être en utilisant HttpURLConnection sur pain d'épice et mieux, puisque c'est là qu'ils vont mettre de nouveaux efforts de développement.
http://android-developers.blogspot.de/2011/09/androids-http-clients.html
Edit: Ces jours-ci j'ai trouvé okhttp en Place, qui comprend SPDY de soutien et de tentatives automatiques: https://github.com/square/okhttp
OriginalL'auteur Nacho Coloma
Si vous êtes, ne pas essayer d'envoyer et de recevoir des fichiers volumineux, je vous suggère de HttpClient.
Il est beaucoup plus facile à démarrer et à utiliser, et il y a beaucoup plus de travail que l'on peut trouver sur internet.
NOTE: Ceci est HttpClient est différent de celui HTTPClient (note cas) qui est un autre éditeur de mise en œuvre.
OriginalL'auteur RightHandedMonkey
Si la balise est spécifiquement pour Android, en général HttpURLConnection est également le meilleur choix quand il s'agit d'applications Java EE comme il utiliser la pile HTTP qui est livré avec le serveur d'application qui inclut la configuration de certificats HTTPS sur le serveur d'applications, plutôt que le code.
Il vous permettra également d'obtenir la dernière version de Ssl fourni par le serveur d'application de la pile plutôt que d'être coincé avec une vieille version de httpclient qui peut ne pas fonctionner avec le protocole TLS 1.2
OriginalL'auteur Archimedes Trajano
Je recommande généralement
URLConnection
parce qu'il peut obtenir à jour avec le JDK. Dans un cas, nous avons eu un appel qui a utilisé une ancienne version de Client HTTP qui n'a pas de prise en charge de TLS v1.2.Cependant, je ne voudrais pas utiliser
URLConnection
directement, je l'utilise généralement un niveau plus élevé de l'API comme JAX-RS Client ou le wsimport les Clients à se connecter à un autre site.OriginalL'auteur Archimedes Trajano