Android的DefaultHttpClient中,超时设置需要调用HttpConnectionParams.setConnectionTimeout方法,如(以下代码的31~35行代码):

ref: Timeout in DefaultHttpClient Class Android

/**发送post请求的方法 * @param params 请求参数的键-值对. * @param url * @param encoding * @param setTimeout 标识是否设置连接超时. * @param connectionTimeout 如果设置连接超时,连接超时时间. * @return * @throws MalformedURLException * @throws IOException * @throws JSONException * @throws ParseException */private boolean postSend(final Map<String, String> params,final String url, final String encoding, boolean setTimeout, final int connectionTimeout)throws MalformedURLException, IOException, JSONException,ParseException {// 封装请求参数的键值对.List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();for (Entry<String, String> param : params.entrySet()) {pairs.add(new BasicNameValuePair(param.getKey(), param.getValue()));}// 封装请求参数的实体.UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairs,encoding);// 使用post请求.HttpPost post = new HttpPost(url);post.setEntity(entity);// 使用DefaultHttpClient指定请求,以获取响应信息.DefaultHttpClient client = new DefaultHttpClient();//设置连接超时.if(setTimeout) {final HttpParams httpParameters = client.getParams();HttpConnectionParams.setConnectionTimeout(httpParameters, connectionTimeout);}HttpResponse response = client.execute(post);BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), encoding));// 使用线程安全的StringBuffer.StringBuffer buffer = new StringBuffer();String ln = null;while ((ln = reader.readLine()) != null)buffer.append(ln).append(System.getProperty("line.separator"));//根据操作系统平台换行.// 传递json到Service处理.final String rawJsonStr = buffer.toString();//test only://Log.i("sysout", rawJsonStr);resultAQIDays = convertJsonToAQIDayList(rawJsonStr);return response.getStatusLine().getStatusCode() == 200; // 等于200表示发送成功.}

更多相关文章

  1. Android Activity的各种重载方法
  2. Android之socket编程实例,熟悉socket使用方法
  3. Android 版本 相关参数修改(SpreadTrum)
  4. Android Re-installation failed解决方法
  5. Android GestureDetector方法详解
  6. Android xxx is not translated in yyy, zzz 的解决方法
  7. Android StageFrightMediaScanner源代码解析
  8. android 开发中遇到的问题及解决方法
  9. Android地图添加标记和文字【代码片段】

随机推荐

  1. 输入年(包含闰年)和月份,输出天数
  2. 杀软对抗:一个面向***工程师的杀软绕过思
  3. 打造一款 刷Java 知识的小程序(一)
  4. 06. SpringCloud实战项目-Docker安装redi
  5. 07. SpringCloud实战项目-本地开发环境配
  6. springboot+vue项目实战-天猫商城
  7. 打造一款 刷Java 知识的小程序(二)
  8. 08. SpringCloud实战项目-配置Git
  9. 个人搭建网站要如何选择服务器?
  10. 09. SpringCloud实战项目-初始化项目和添