2013-04-02 112 views
0

我敢肯定有一些簡單的修復,我只是沒有看到,但由於某些原因,下面的代碼:HttpConnectionParams奇怪的語法錯誤

private HttpClient httpclient = new DefaultHttpClient(); 
HttpParams httpParameters = new BasicHttpParams(); 
int timeoutConnection = 3000; 
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); 
int timeoutSocket = 5000; 
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); 

DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); 
private Gson gson = new Gson(); 

給出的語法錯誤,比如:http://i.imgur.com/JF8zxPG.png

請幫助,我不知道爲什麼這些語法不正確,它試圖告訴我我需要刪除括號。

+0

我們確實需要查看更多的代碼 - 如果此代碼位於函數中,則private關鍵字是非法的。如果它是在某種類型的聲明中(如類定義),那麼你可以執行代碼(比如setSOTimeout)(實際的錯誤信息也會很棒) – Elemental

+0

import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpParams; –

回答

0

您正嘗試在類體中調用函數(setConnectionTimeout()),而不是在方法體中調用函數。

移動HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);一些方法(例如上構造函數),在例如:

private HttpClient httpclient = new DefaultHttpClient(); 

public void initialize() { 
    HttpParams httpParameters = new BasicHttpParams(); 
    int timeoutConnection = 3000; 
    HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); 
    int timeoutSocket = 5000; 
    HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); 
} 

// rest of the code 

此外,爲什麼你需要的HttpClient兩個實例?