HttpClient ne sera pas importé dans Android Studio


Answers

HttpClient a été abandonné dans l'API Niveau 22 et supprimé dans l'API niveau 23. Vous pouvez toujours l'utiliser dans API niveau 23 et ultérieur si vous le devez, mais il est préférable de passer aux méthodes prises en charge pour gérer HTTP. Donc, si vous compilez avec 23, ajoutez ceci dans votre build.gradle:

android {
    useLibrary 'org.apache.http.legacy'
}
Question

J'ai une classe simple écrite dans Android Studio:

package com.mysite.myapp;

import org.apache.http.client.HttpClient;

public class Whatever {
    public void headBangingAgainstTheWallExample () {
        HttpClient client = new DefaultHttpClient();
    }
}

et à partir de là, je reçois l'erreur de compilation suivante:

Cannot resolve symbol HttpClient

HttpClient n'est-il pas inclus dans le SDK Android Studio? Même si ce n'est pas le cas, je l'ai ajouté à ma collection Gradle comme ceci:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'org.apache.httpcomponents:httpclient:4.5'
}

Avec ou sans la dernière ligne de compilation, l'erreur est la même. Qu'est-ce que je rate?




dans l'API 22, ils deviennent obsolètes et dans l'API 23, ils les ont complètement supprimés, une simple solution de contournement si vous n'avez pas besoin de toutes les fonctionnalités des nouveaux ajouts est simplement d'utiliser les fichiers .jar d'apache intégrés avant API 22, mais en tant que fichiers .jar séparés:

1. http://hc.apache.org/downloads.cgi
2. download httpclient 4.5.1, the zile file
3. unzip all files
4. drag in your project httpclient-4.5.1.jar, httpcore-4.4.3.jar and httpmime-4.5.1.jar
5. project, right click, open module settings, app, dependencies, +, File dependency and add the 3 files
6. now everything should compile properly



Vous pouvez simplement ajouter ceci aux dépendances de Gradle:

compile "org.apache.httpcomponents:httpcore:4.3.2"



Si vous avez besoin de SDK 23, ajoutez ceci à votre Gradle:

android {
    useLibrary 'org.apache.http.legacy'
}



Ajoutez ces deux lignes sous dépendances

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

puis

useLibrary 'org.apache.http.legacy'

sous l'androïde




Utilisez simplement ceci: -

android {
         .
         .
         .
 useLibrary 'org.apache.http.legacy'
         .
         .
         .
          }



Erreur: (30, 0) Méthode Gradle DSL non trouvée: 'classpath ()' Causes possibles:

  • Le projet 'cid' utilise peut-être une version du plug-in Android Gradle qui ne contient pas la méthode (par exemple 'testCompile' a été ajouté dans 1.1.0). Mettre à jour le plugin vers la version 2.3.3 et synchroniser le projet
  • Le projet 'cid' utilise peut-être une version de Gradle qui ne contient pas la méthode. Ouvrir le fichier wrapper Gradle
  • Le fichier de construction peut manquer un greffon Gradle. Appliquer le plugin Gradle



  • Pour utiliser Apache HTTP pour SDK Level 23:

    Niveau supérieur build.gradle - /build.gradle

    buildscript {
        ...
        dependencies {
            classpath 'com.android.tools.build:gradle:1.5.0' 
            // Lowest version for useLibrary is 1.3.0
            // Android Studio will notify you about the latest stable version
            // See all versions: http://jcenter.bintray.com/com/android/tools/build/gradle/
        }
        ...
    }
    

    Notification du studio Android à propos de la mise à jour progressive:

    Module spécifique build.gradle - /app/build.gradle

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
        ...
        useLibrary 'org.apache.http.legacy'
        ...
    }
    



    1- télécharger les fichiers jar Apache (à partir de cette réponse) 4.5.zip file from:
    https://hc.apache.org/downloads.cgi?Preferred=http%3A%2F%2Fapache.arvixe.com%2F

    2- ouvrez la copie zip les fichiers jar dans votre dossier libs. Vous pouvez le trouver si vous allez au sommet de votre projet où il est dit "Android" vous trouverez une liste quand vous cliquez dessus. Alors,

    Android -> Projet -> app -> libs

    , Puis mettez des bocaux là.

    3- Dans build.gradle (Module: app) ajouter

    compile fileTree(dir: 'libs', include: ['*.jar'])
    

    dans

     dependency { 
       }
    

    4- Dans la classe Java, ajoutez ces importations:

    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;
    
    import org.apache.http.params.CoreProtocolPNames;
    



    Quelle cible d'API avez-vous dans votre projet? AndroidHttpClient est uniquement pour le niveau d'API 8 <. et s'il vous plaît jeter un oeil here

    Profitez de votre code :)