在以前做一个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
* 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;
}
上面的方法,可以为每个请求公用,以后维护也很方便!个人建议,把这个方法在写父类让子类继承,这样的话符合面向对象编程!
学习在于积累!