本文转自http://www.189works.com/article-41895-1.html

在以前做一个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;  
}  

上面的方法,可以为每个请求公用,以后维护也很方便!个人建议,把这个方法在写父类让子类继承,这样的话符合面向对象编程!

学习在于积累

版权声明:本文为sishuiliuyun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sishuiliuyun/archive/2012/11/18/2775724.html