1. package com.example.myapplication2.models.CommonClasses;
  2. import org.json.JSONObject;
  3.  
  4. import java.io.BufferedInputStream;
  5. import java.io.BufferedOutputStream;
  6. import java.io.BufferedReader;
  7. import java.io.DataOutputStream;
  8. import java.io.IOException;
  9. import java.io.InputStream;
  10. import java.io.InputStreamReader;
  11. import java.io.OutputStream;
  12. import java.net.HttpURLConnection;
  13. import java.net.MalformedURLException;
  14. import java.net.URL;
  15. import java.net.URLDecoder;
  16. import com.google.gson.*;
  17.  
  18. public class WebAPIOperator {
  19. static String ip="192.168.56.192";
  20. static String port="18011";
  21. static String baseUri="http://"+ip+":"+port;
  22.  
  23. // HttpClient httpClient;
  24. static HttpURLConnection huc;
  25.  
  26. public WebAPIOperator() {
  27.  
  28. }
  29. public static String DoGet(String locationStr,String subStr){
  30. String str="";
  31. try {
  32. URL url=new URL(locationStr+subStr);
  33. huc=(HttpURLConnection)url.openConnection();
  34. huc.connect();
  35. // 读取响应
  36. BufferedReader reader = new BufferedReader(new
  37. InputStreamReader(huc.getInputStream()));
  38. String lines;
  39. StringBuffer sb = new StringBuffer("");
  40. while ((lines = reader.readLine()) != null) {
  41. lines = URLDecoder.decode(lines, "utf-8");
  42. sb.append(lines);
  43. }
  44. System.out.println(sb);
  45. reader.close();
  46. str=sb.toString();
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }finally {
  50. huc.disconnect();
  51. return str;
  52. }
  53. }
  54. public static String DoGet(String locationStr){
  55. String str="";
  56. try {
  57. URL url=new URL(baseUri+locationStr);
  58. huc=(HttpURLConnection)url.openConnection();
  59. huc.connect();
  60. // 读取响应
  61. BufferedReader reader = new BufferedReader(new
  62. InputStreamReader(huc.getInputStream()));
  63. String lines;
  64. StringBuffer sb = new StringBuffer("");
  65. while ((lines = reader.readLine()) != null) {
  66. lines = URLDecoder.decode(lines, "utf-8");
  67. sb.append(lines);
  68. }
  69. System.out.println(sb);
  70. reader.close();
  71. str=sb.toString();
  72. } catch (IOException e) {
  73. e.printStackTrace();
  74. }finally {
  75. huc.disconnect();
  76. return str;
  77. }
  78. }
  79. public static String DoPost(String locationStr,Object obj){
  80. String str="";
  81. try {
  82. URL url=new URL(baseUri+locationStr);
  83. huc=(HttpURLConnection)url.openConnection();
  84. huc.setDoOutput(true);
  85. huc.setDoInput(true);
  86. huc.setRequestMethod("POST");
  87. // huc.setRequestProperty("Content-Type","plain/text; charset=UTF-8");
  88. huc.setRequestProperty("Content-Type","application/json; charset=UTF-8");
  89. // 设置通用的请求属性
  90. huc.setRequestProperty("accept", "*/*");
  91. huc.setRequestProperty("connection", "Keep-Alive");
  92.  
  93. huc.setUseCaches(false);
  94. huc.setInstanceFollowRedirects(true);
  95.  
  96. huc.connect();
  97. // int responseCode=huc.getResponseCode();
  98. // System.out.println("responseCode:"+responseCode);
  99. // Object o=huc.getOutputStream();
  100.  
  101. // OutputStream out = new BufferedOutputStream(huc.getOutputStream());
  102. // writeStream(out);
  103. //
  104. // InputStream in = new BufferedInputStream(huc.getInputStream());
  105. // readStream(in);
  106. DataOutputStream out = new
  107. DataOutputStream(huc.getOutputStream());
  108. // JSONObject obj = new JSONObject();
  109. // String json = java.net.URLEncoder.encode(obj.toString(), "utf-8");
  110. String json=new Gson().toJson(obj);
  111. out.writeBytes(json);
  112. out.flush();
  113. out.close();
  114. // 读取响应
  115. BufferedReader reader = new BufferedReader(new
  116. InputStreamReader(huc.getInputStream()));
  117. String lines;
  118. StringBuffer sb = new StringBuffer("");
  119. while ((lines = reader.readLine()) != null) {
  120. lines = URLDecoder.decode(lines, "utf-8");
  121. sb.append(lines);
  122. }
  123. System.out.println(sb);
  124. reader.close();
  125. str=sb.toString();
  126. return str;
  127. } catch (Exception e) {
  128. e.printStackTrace();
  129. }finally {
  130. huc.disconnect();
  131. return str;
  132. }
  133.  
  134. }
  135. }

  

Android WebAPIOperator的更多相关文章

  1. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  2. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  3. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  4. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  5. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  6. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  7. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  8. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  9. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  10. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

随机推荐

  1. Windows同时安装多个JDK

    一.下载并安装JDK这一步选择你需要的JDK并下载安装,记得要记住安装的路径. 二.为JDK配置环境变量①找到系统环境变量 ②新建如下三个环境变量 第一个表示默认Java的home路径,以后在更改JD ...

  2. java端口被占用解决办法

  3. 运维自动化工具--Ansible

    运维自动化工具Ansible 1. ansible安装 rocky安装 需要先安装 enel源 # yum install -y epel-release 然后再安装ansible # yum ins ...

  4. Centos7中Jar快速启动脚本

    Centos7中Jar快速启动脚本 创建一个文本,将以下脚本内容复制到文本当中,重命名文本后缀为.sh 注意:根据自己的项目进行更改相关内容,对应注释已说明 #!/bin/sh APP_NAME=ma ...

  5. Shell 摘抄:growpart中的参数处理

    下面这段代码中,变量cur表示这次循环所要处理的参数.如果没有触发前面的选项开关,第一个参数会被赋值给$DISK,第二个参数会赋值给$PART. 强无敌!- while [ $# -ne 0 ]; d ...

  6. IDEA:使用Test注解,控制台无法输入

    解决方案 步骤一: 点击help ===> Edit Custom VM Options... 步骤二: 添加文件末尾添加如下内容 -Deditable.java.test.console=tr ...

  7. 什么是PMP?

    PMP(Project Management Professional)中文名称叫项目管理专业人士资格认证.它是由美国项目管理协会(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证 ...

  8. 重返照片的原始世界:我为.NET打造的RAW照片解析利器

    重返照片的原始世界:我为.NET打造的RAW照片解析利器 如果你是我的老读者,你可能还记得,在2019年,我冒险进入了一片神秘的领域--用C#解析RAW格式的照片: 20191208 - 用.NET解 ...

  9. 宝塔linux网站搬家思路

    对于一个网站来说,其实就分为两个部分,一个是网站的源码,另一个就是网站的数据库. 那么对于网站搬家而言,要考虑的也就是两点,一是要打包网站的源码,再者就是要打包网站的数据库.其次就是要在新的站点,配置 ...

  10. 使用在线Excel时,有哪些方法可以引入计算函数?

    摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在日常生活和工作中,我们都会或多或少的使用Excel中的 ...