java.lang.NoSuchMethodError: Pas de méthode virtuelle pour exécuter HttpClientResponse
Quand j'essaye d'exécuter l'application après son lancement, il montre d'exception dans le logcat comme ceci:
java.lang.NoSuchMethodError: No virtual method execute(Lorg/apache/http/client/methods/HttpUriRequest;)
Lorg/apache/http/client/methods/CloseableHttpResponse;
in class Lorg/apache/http/impl/client/DefaultHttpClient;
or its super classes (declaration of 'org.apache.http.impl.client.DefaultHttpClient' appears in /system/framework/ext.jar)
Dans le fichier de classe est d'avoir d'erreur après l'appel de la méthode execute.
CloseableHttpResponse httpResponse = null;
httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(strServiceURL);
//When executing the below line get null value for response.
httpResponse = httpClient.execute(httpGet);
httpEntity = httpResponse.getEntity();
responsePayload = EntityUtils.toString(httpEntity);
Tout en essayant d'appeler la méthode execute() c'est de mieux en valeur null lorsque je change de HttpResponse et en ajoutant http-client-4.3.5.jar.
Si la méthode execute() est obsolète si oui quel est la solution pour réaliser la connexion http appel à l'aide de la méthode post.
Merci de me fournir quelques suggestions pour cette erreur.
Merci pour les suggestions et les réponses à l'avance!
Double Possible de erreur dans AsyncTask lors de l'utilisation de Httpclient et Http bibliothèque de base
OriginalL'auteur Danny | 2015-08-17
Vous devez vous connecter pour publier un commentaire.
Utilisez-vous HttpClient 4.5 dans votre projet Android? Aller à Apache, que j'ai trouvé pour Android ils utilisent HttpClient pour Android 4.3.5. Mes projets l'utilisation de ces fichiers Jar, de la bibliothèque (pas compilé dans gradle). Vous pouvez essayer de télécharger ici. Espérons que cette aide!
Vous pouvez vous référer à l'exemple de code suivant:
Utils.java:
MainActivity.java:
Essayez d'utiliser
HttpResponse httpResponse
au lieuJ'ai Essayé aussi, mais encore avoir d'erreur en raison de la valeur null lors de l'exécution de httpResponse = httpClient.execute(httpGet); @BNK
Je pense que vous devriez publier plus de code.
Code modifié @BNK, veuillez jeter un oeil.
OriginalL'auteur BNK
Solutions ci-dessus ne fonctionne pas pour moi.
Ajoutant cette ligne dans gradle a fonctionné pour moi.
OriginalL'auteur Ramesh
Essayez de changer le kit sdk d'android de la version que vous utilisez à quelque chose, avant de Guimauve et de retrait de l'apache fichiers jar de votre projet. Ces classes sont déjà disponibles dans le sdk.
OriginalL'auteur DroidT