2016-04-21 3 views
1

Ich versuche, HttpPost zu verwenden, wie ich es in der Vergangenheit in Android getan habe. Ich stelle fest, dass es aus den letzten Android-Versionen entfernt wurde. Im Anschluss an die Lösungen, die auf einer ähnlichen Frage Stackoverflow, habe ich diese zu meinen Gradle Abhängigkeiten:kann nicht HttpPost in Android Studio nach erfolgreicher Gradle-Synchronisierung verwenden

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

Nach einem Gradle Sync, die von keinen Fehlern beschwert, kann ich importieren noch nicht das Httppost Programm. Tatsächlich wird das org.apache.http.client.methods-Paket überhaupt nicht aufgelöst.

Ich habe auch versucht, was der Apache Httpclient Webseite vorgeschlagen, die diese Stelle in meinem Gradle Abhängigkeiten zu verwenden war:

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' 

erneut die Synchronisierung ging gut, und dieses Mal das Paket gelöst, aber nicht die HttpPost Programm.

enter image description here

würde ich für Anregungen dankbar.

+0

http://stackoverflow.com/questions/31433687/android-gradle-apache-httpclient-does-not-exist –

Antwort

4

Fügen Sie einfach diese Zeile in Ihrem build.gradle innerhalb von Android-Plugin:

useLibrary 'org.apache.http.legacy' 
+0

Aber das sind alte Versionen der Apache-Clients, ja? Wäre es nicht besser, die neueren Versionen zu haben? Gibt es eine Möglichkeit, das zu tun? –

+0

Die obige Antwort ist ziemlich voll und beschreibt das ganze Problem, in API 23 wurde dieser Client vollständig entfernt und wurde nur ein Vermächtnis. Ich denke, es ist besser, HttpOk, Retrofit oder einfach UrlConnection zu verwenden. –

2

Das Apache Httpclient 4.3 für Android sollte ein Update für die Legacy-4.0 Alpha-Version sein, die in der frühen Android-Versionen enthalten waren. Um Benennungskonflikte zu vermeiden, haben einige der aktualisierten Klassen das Postfix HC4, wie zum Beispiel HttpPostHC4, das man stattdessen verwenden musste.

Aber jetzt, da der alte HttpClient von Android entfernt wurde, existieren die alten Klassen wie HttpPost nicht mehr.

Der offizielle Weg, um die Httpclient-Bibliothek auf neuerer Android-Version zu erhalten, ist die Verwendung:

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

als documented here.

Verwandte Themen