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?

30
demandé sur Peter Mortensen 2015-09-01 23:47:58

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:

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.

39
répondu CommonsWare 2016-06-08 17:42:40

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'
    ...
}
63
répondu TejaDroid 2015-10-28 11:58:57

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'
    ...
}
23
répondu Sujewan 2015-10-20 07:08:21

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

1
répondu graves501 2016-03-23 10:37:32

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'
}
0
répondu abedfar 2016-02-25 14:24:21

Utilisez Ceci: -

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
-1
répondu Dhanveer thakur 2016-05-07 05:57:02