1. 程式人生 > >android的HttpClient新增請求超時時間

android的HttpClient新增請求超時時間

在做一個android的移動專案的時候,想為httpClient物件新增請求超時和讀取超時時間,發現httpClient的物件實現的defaultHttpClient物件中就沒有設定超時時間的方法,所以一直鬱悶的,覺得怎麼回沒有,難道defaultHttpClient物件中已經封裝了請求超時時間和讀取時間,不過這樣不是可擴張性不好了,最近在android論壇上面,發現了其實android的httpClient是可以的,不過設定在HttpConnectionParams的靜態方法中設定,詳細的我寫了一段程式碼提供給大家:
 private static final int REQUEST_TIMEOUT = 10*1000;//設定請求超時10秒鐘  
   private static final int SO_TIMEOUT = 10*1000;  //設定等待資料超時時間10秒鐘  
   /** 
    * 新增請求超時時間和等待時間 
    * @author spring sky  
    * @return HttpClient物件 
    */  
   public HttpClient getHttpClient(){  
    BasicHttpParams httpParams = new BasicHttpParams();  
    HttpConnectionParams.setConnectionTimeout(httpParams, REQUEST_TIMEOUT);  
    HttpConnectionParams.setSoTimeout(httpParams, SO_TIMEOUT);  
    HttpClient client = new DefaultHttpClient(httpParams);  
return client;  }  


上面的方法,可以為每個請求公用,以後維護也很方便!個人建議,把這個方法在寫父類讓子類繼承,這樣的話符合面向物件程式設計!