2016-04-21 73 views
1

我正在嘗試使用HttpPost,因爲我在過去的Android中使用HttpPost。我意識到它已從最近的Android版本中刪除。在類似的StackOverflow問題之後的解決方案,我已將此添加到我的搖籃依賴關係:成功的Gradle同步後,無法在Android Studio中使用HttpPost

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

一個搖籃同步後抱怨沒有錯誤後,我仍然無法導入HttpPost程序。實際上,org.apache.http.client.methods包完全不能解析。

我也試了一下Apache的HttpClient的網站建議,這是在我的搖籃,而不是使用的依賴關係:

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

再次,同步了罰款,而這一次的包解決,而不是HttpPost程序。

enter image description here

我會的任何建議表示感謝。

+0

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

回答

4

就在您的build.gradle加入這一行Android插件裏面:

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

但這些都是舊版本的Apache客戶端,是嗎?擁有新版本不是更好嗎?有沒有辦法做到這一點? –

+0

上面的答案相當完整,並描述了整個問題,在API 23中,此客戶端已完全移除併成爲遺留物。我認爲最好使用HttpOk,Retrofit或簡單的UrlConnection。 –

2

阿帕奇的HttpClient 4.3 Android的意思是對於被列入早期的Android版本遺留4.0 alpha版本的更新。爲了避免命名衝突,更新後的類中的一些獲得了後綴HC4,例如HttpPostHC4,而不是必須使用哪一個。

但現在舊的HttpClient已從Android中移除,舊的類如HttpPost不再存在。

官方的方式得到新的Android版本的HttpClient庫是用:

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

documented here

相關問題