在Android开发过程中,很多情况下,我们需要通过Http协议获取服务端的数据接口。

这里我们通过封装一个Http工具类:

    /*** 发送http请求* @param urlPath 请求路径* @param requestType 请求类型* @param request 请求参数,如果没有参数,则为null* * @return*/public static String sendRequest(String urlPath, String requestType, String request,String tokenid) {URL url = null;HttpURLConnection conn = null;OutputStream os = null;InputStream is = null;String result = null;try {url = new URL(urlPath);conn = (HttpURLConnection)url.openConnection();if (!"".equals(requestType)) {conn.setRequestMethod(requestType);}conn.setDoInput(true);conn.setDoOutput(true);conn.setReadTimeout(10 * 1000);conn.setConnectTimeout(6 * 1000);conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");conn.setRequestProperty("Connection", "keep-alive");conn.setRequestProperty("Content-Length", Integer.toString(request.trim().getBytes().length));if (!"".equals(tokenid)) {conn.setRequestProperty("tokenid", tokenid);}if (request != null && !"".equals(request)) {os = conn.getOutputStream();os.write(request.getBytes());os.flush();}Log.i(TAG,"code="+conn.getResponseCode());if (200 == conn.getResponseCode()) {is = conn.getInputStream();byte[] temp = readStream(is);result = new String(temp);}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} finally {try {if (is != null) {is.close();}if (os != null) {os.close();}} catch (IOException e) {e.printStackTrace();}}if (result != null) {return result;} else {return null;}}public static byte[] readStream(InputStream is) throws Exception {ByteArrayOutputStream os = new ByteArrayOutputStream();byte[] buffer = new byte[2048];int len = 0;while((len = is.read(buffer)) != -1){os.write(buffer,0,len);}is.close();return os.toByteArray();}

转载于:https://www.cnblogs.com/gongcb/archive/2012/05/28/2520881.html

Android进阶篇-Http协议相关推荐

  1. Android进阶篇之引导页系列之ViewPager实现Animation动画引导页

    Android进阶篇之引导页系列之ViewPager实现Animation动画引导页 转载于:https://www.cnblogs.com/zhujiabin/p/5795789.html

  2. 深入理解gradle编译-Android进阶篇

    2019独角兽企业重金招聘Python工程师标准>>> 9/27/2016 4:23:23 PM 深入理解gradle编译-Android进阶篇 导读 本文旨在介绍Gradle构建的 ...

  3. Android进阶篇-清除WebView的缓存

    有的时候,当我们项目中使用到WebView载入一些网页信息并对它做了一个记忆处理的话. 我们点注销,就需要清空WebView的缓存. private void clearWebView(){File ...

  4. android进阶篇02、RecyclerView回收复用机制源码解析,h5移动端开发进行定位

    public void removeAndRecycleViewAt(int index, @NonNull Recycler recycler) { final View view = getChi ...

  5. Android日志[进阶篇]五-阅读错误报告

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  6. Android日志[进阶篇]四-获取错误报告

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  7. Android日志[进阶篇]三-Logcat 命令行工具

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  8. Android日志[进阶篇]一-使用 Logcat 写入和查看日志

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  9. Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  10. Android 进阶第二篇——性能优化

    Android 进阶第二篇--性能优化 一些Android书籍喜欢把性能优化放在最后的章节,简单提一提作为内容全面的点缀.在这里我将工具使用和性能优化的一些个人经验放在进阶系列博客的开始,因为我认为防 ...

最新文章

  1. 关于研发效能提升的思考,每个P8以及以上都应该懂!
  2. Linux KVM虚拟网络的桥接
  3. 皮一皮:这是。。。养了个白眼狼???
  4. Impatient JavaScript 中文版校对活动期待大家的参与
  5. IE6-IE9使用JSON、table.innerHTML 问题
  6. HDU 1847 (博弈 找规律) Good Luck in CET-4 Everybody!
  7. logrotate 对某个日志的配置
  8. 32bit 天堂2脚本修改资料大全【客户端+服务端】
  9. 卫计委电子病历架构基本概念
  10. 显示器/电脑屏幕字体出现重影
  11. C# 学习——LINQ 查询
  12. 数学建模(六) 主成分分析,聚类分析,对策论,马氏链
  13. Umeng App监管执法合规自查通知
  14. 测控仪器专业权威期刊
  15. 用英雄联盟的方式讲解JavaScript设计模式!
  16. 乘法逆元 java_java写的三个求乘法逆元的算法
  17. 使用css animation动画做边框闪动效果
  18. Flutter Sliver大家族之SliverList(),SliverFixedExtentList(),SliverGrid()组件②
  19. 延迟补偿在C/S架构游戏协议设计和优化中的应用
  20. 往服务器抛数以及从服务器读数(AL11的具体用法)

热门文章

  1. mac docker nginx 配置
  2. linux 磁盘检测卡主_在Windows和Linux中找出磁盘分区使用的文件系统,就是这么简单...
  3. 用户信息填写web代码_zabbix监控系列之监控项(8、web监控)
  4. python xml 解析_python解析xml文件方式(解析、更新、写入)
  5. python 怎么注释_python的代码怎么写注释
  6. 单片机控制电机原理以及程序怎么写
  7. c语言的加法和平均值程序,编写求一组整数的和与平均值的程序
  8. Hibernate的双向N-N关联(六)
  9. 【渝粤教育】国家开放大学2018年秋季 0708-22T互联网创业基础 参考试题
  10. Python进阶(三)单例设计模式