J'utilise DefaultHttpClient
dans mon application actuelle.
J'ai lu cet article qui dit que la DefaultHttpClient
est obsolète: http://developer.Android.com/reference/org/Apache/http/impl/client/DefaultHttpClient.html
Il pointe vers ce site: http://Android-developers.blogspot.com/2011/09/androids-http-clients.html?m=1 qui est trop vieux et écrit en 2011.
Je vais abandonner avec DefaultHttpClient
et suivre cet article qui utilise HttpClient
: http://loopj.com/Android-async-http/
Je me demande si c'est la bonne voie à suivre lors de la programmation en 2015 visant l'API Android 19 et supérieure.
Ok, j'ai attendu une semaine et j'ai fait toutes sortes de recherches. Je pense avoir trouvé la réponse.
Je conseille vivement aux débutants et même aux programmeurs professionnels Android de connaître l’existence de la très utile bibliothèque appelée Retrofit:
Un document complet est présent sur http://square.github.io/retrofit/
Le dépassement de capacité de la pile contient également des exemples de presque toutes les tâches à effectuer sur un réseau pour contacter un service REST distant.
Il est préférable de cesser d'utiliser HttpURLConnection et AsyncTask. La mise à niveau est beaucoup plus rapide et prend en charge toutes les situations de panne prêtes à l'emploi.
En plus de vous connecter à ce blog, le répertoire -docs vous recommande d'utiliser URL.openConnection qui existe depuis le niveau 1 de l'API.
Vous devriez passer à HttpURLConnection . Cela nécessite un peu plus de code, mais pas tellement . Dans le SDK 22, HttpClient était déjà déconseillé, et même si vous ciblez le SDK 19, lors de la compilation avec 22, vous obtenez des avertissements.
Juste des spéculations (je ne peux trouver aucune source pour cela maintenant), mais j'imagine qu'ils ne procéderont à aucune correction dans les bibliothèques obsolètes, de sorte que tous les problèmes de sécurité ou les bogues resteront non résolus.
Option 1: Volley
Android 1.6 (API niveau 4) ou supérieur
Les avantages de Volley:
Option 2: OkHttp
OkHttp supporte Android 2.3 et supérieur. Pour Java, la configuration minimale requise est 1.7.
Certaines des fonctionnalités énumérées dans sa documentation:
Il est temps de passer à OkHttp, qui gère HTTP efficacement, accélère le chargement de votre matériel et réduit la bande passante. Il prend en charge les appels bloquants synchrones et les appels asynchrones avec rappel.
OkHttp supporte Android 2.3 et supérieur.
Ajoutez la dépendance ci-dessous à votre projet Android.
compile 'com.squareup.okhttp:okhttp:2.4.0'