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