DefaultHttpClient ou HttpURLConnection sur Android

Dans la création d'un service Web conçu pour interagir avec les appareils mobiles, je ne sais pas quelle est la meilleure approche pour la mise en œuvre des demandes HTTP sur Android.

J'ai rencontré cette publication, qui finit en indiquant que HttpURLConnection est la méthode préférée pour la réalisation de requêtes HTTP, et j'ai eu du succès en utilisant HttpsURLConnection .

  • Fonction de sommeil dans le programme Android
  • La balise XML Android s'appelle eat-comment, à quoi sert-elle?
  • GoogleCloudMessaging ne peut pas être résolu à un type
  • Comment supprimer une application suspendue de la console de développement google play?
  • Vérifiez le taux de bande passante dans Android
  • Je ne peux pas comprendre le problème avec une erreur stacktrace
  • Lorsque vous recherchez des réponses ou que vous lisez un autre exemple de code (même des messages assez récents), tous semblent utiliser DefaultHttpClient , ce qui semble aller à l'encontre du mot officiel de Google.

    J'essaie de prouver mon application Android autant que possible. Dans cet esprit, le HttpURLConnection est- HttpURLConnection le meilleur choix?

    3 Solutions collect form web for “DefaultHttpClient ou HttpURLConnection sur Android”

    DefaultHttpClient est à un niveau d'abstraction plus élevé que HttpUrlConnection . L'un ou l'autre devrait être adapté en fonction de vos besoins. Si vous n'avez pas besoin de contrôler HttpUrlConnection , respectez le DefaultHttpClient .

    Si vous soutenez également 2.2 , la meilleure approche peut être d'utiliser à la fois DefaultHttpClient ou HttpURLConnection

     if (Integer.parseInt(Build.VERSION.SDK) <= Build.VERSION_CODES.FROYO) { // Use DefaultHttpClient here } else{ //use HttpURLConnection } 

    Motif: HttpURLConnection est plus stable après Froyo tandis que DefaultHttpClient est moins buggy en froyo et version inférieure.

    Ref: http://developer.android.com/reference/org/apache/http/impl/client/DefaultHttpClient.html Android comprend deux clients HTTP: HttpURLConnection et Apache HTTP Client. Les deux supportent HTTPS, les téléchargements en streaming et les téléchargements, les délais de temps configurables, IPv6 et le pool de connexions. Le client HTTP Apache a moins de bugs dans Android 2.2 (Froyo) et les versions antérieures. Pour Android 2.3 (Gingerbread) et plus tard, HttpURLConnection est le meilleur choix. Son API simple et sa petite taille le rendent idéal pour Android. La compression transparente et la mise en cache de réponses réduisent l'utilisation du réseau, améliorent la vitesse et économisent de la batterie. Consultez le Blog des développeurs d'Android pour une comparaison des deux clients HTTP.

    Il importe vraiment quelle version d'Android vous utilisez. Jetez un oeil à http://android-developers.blogspot.com/2011/09/androids-http-clients.html pour des conseils de Google.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.