Je ne peux pas importer org.Apache.http.HttpResponse dans Android Studio
je veux utiliser ces bibliothèques dans Android Studio:
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
je suis un tutoriel vidéo dans lequel le tuteur utilise Eclipse donc je sais que cela fonctionne.
mais quelles autres choses/bibliothèques dois-je ajouter à Android Studio afin de les utiliser?
6 réponses
HttpClient a été déprécié Dans Android 5.1 et est supprimé du SDK Android dans Android 6.0. Alors qu'il y a une solution pour continuer à utiliser HttpClient dans Android 6.0 avec Android Studio , vous avez vraiment besoin de passer à autre chose. Ce "quelque chose d'autre" pourrait être:
- le haut-classique Java
HttpUrlConnection
- Apache indépendant de l'emballage de HttpClient pour Android
- OkHttp (ma recommandation)
- AndroidAsync
ou, selon la nature de votre travail HTTP, vous pouvez choisir une bibliothèque qui prend en charge des opérations de plus haut niveau (par exemple, Retrofit pour les API de service Web).
dans un pincement, vous pourriez activer l'API legacy, en ayant useLibrary 'org.apache.http.legacy'
dans votre android
fermeture dans votre module build.gradle
fichier. Cependant, Google conseille aux gens depuis des années d'arrêter D'utiliser le HttpClient intégré D'Android, et donc tout au plus, cela devrait être un pas de stop-gap, pendant que vous travaillez sur un déplacement plus permanent vers une autre API.
HttpClient est obsolète dans sdk 23 .
vous devez Vous déplacer sur URLConnection ou vers le bas sdk 22
vous avez encore besoin de HttpClient avec la mise à jour de gradle sdk 23
vous devez ajouter les dépendances de HttpClient dans app/Grad en tant que
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
...
}
construction principale.gradle - /build.Grad
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
// Versions: http://jcenter.bintray.com/com/android/tools/build/gradle/
}
...
}
module construction spécifique.Grad - / app / build.Grad
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
...
useLibrary 'org.apache.http.legacy'
...
}
selon le site Apache, c'est la dépendance Gradle que vous devez inclure, si vous utilisez L'API Android 23 ou une version plus récente:
dependencies {
compile group: 'cz.msebera.android' , name: 'httpclient', version: '4.4.1.1'
}
Source: https://hc.apache.org/httpcomponents-client-4.5.x/android-port.html
dans le cas où vous allez commencer le développement, allez de l'OkHttp de la place, sinon si vous avez besoin de garder votre code précédent en marche, puis Ajouter la bibliothèque d'héritage à vos dépendances de projet:
dependencies {
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
}
Utilisez Ceci: -
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'