在以前做一個android的移動項目的時候,想為httpClient對象添加請求超時和讀取超時時間,發現httpClient的對象實現的defaultHttpClient對象中就沒有設置超時時間的方法,所以一直郁悶的,覺得怎么回沒有,難道defaultHttpClient對象中已經封裝了請求超時時間和讀取時間,不過這樣不是可擴張性不好了,最近在android論壇上面,發現了其實android的httpClient是可以的,不過設置在HttpConnectionParams的靜態方法中設置,詳細的我寫了一段代碼提供給大家:
[java] view plaincopy
- private static final int REQUEST_TIMEOUT = 10*1000;//設置請求超時10秒鍾
- private static final int SO_TIMEOUT = 10*1000; //設置等待數據超時時間10秒鍾
- /**
- * 添加請求超時時間和等待時間
- * @author spring sky
- * Email vipa1888@163.com
- * QQ: 840950105
- * My name: 石明政
- * @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;
- }
上面的方法,可以為每個請求公用,以后維護也很方便!個人建議,把這個方法在寫父類讓子類繼承,這樣的話符合面向對象編程!
學習在於積累