2016-09-19 25 views
-1

我試圖找到下面的代碼的等價物,因爲有些類不推薦使用。Android - 相當於Apache棄用類

try 
    { 
     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     HttpPost httpPost = new HttpPost(url); 
     HttpResponse httpResponse = httpClient.execute(httpPost); 
     HttpEntity httpEntity = httpResponse.getEntity(); 
     is = httpEntity.getContent(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 

到目前爲止,我已經寫了這一點,但它不工作

HttpURLConnection httpUrlConnection = null; 
    try 
    { 
     URL mUrl = new URL(url); 
     httpUrlConnection = (HttpURLConnection) mUrl.openConnection(); 
     httpUrlConnection.setRequestMethod("POST"); 
     httpUrlConnection.connect(); 
     is = new BufferedInputStream(httpUrlConnection.getInputStream()); 
     httpUrlConnection.disconnect(); 
    } 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 

請求後我發現了一個例外,所以我覺得有什麼不對我的請求。

+0

'httpUrlConnection.disconnect();'你怎麼想,你以後會發生到你的InputStream斷開? – njzk2

回答

0

你可以使用apache遺留庫。在Build.grade頂層文件將這些行

buildscript { 
    ... 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.3.1' 
    } 
} 

而這些應用級的build.gradle:

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