Android WebAPIOperator
- package com.example.myapplication2.models.CommonClasses;
- import org.json.JSONObject;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.BufferedReader;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLDecoder;
- import com.google.gson.*;
- public class WebAPIOperator {
- static String ip="192.168.56.192";
- static String port="18011";
- static String baseUri="http://"+ip+":"+port;
- // HttpClient httpClient;
- static HttpURLConnection huc;
- public WebAPIOperator() {
- }
- public static String DoGet(String locationStr,String subStr){
- String str="";
- try {
- URL url=new URL(locationStr+subStr);
- huc=(HttpURLConnection)url.openConnection();
- huc.connect();
- // 读取响应
- BufferedReader reader = new BufferedReader(new
- InputStreamReader(huc.getInputStream()));
- String lines;
- StringBuffer sb = new StringBuffer("");
- while ((lines = reader.readLine()) != null) {
- lines = URLDecoder.decode(lines, "utf-8");
- sb.append(lines);
- }
- System.out.println(sb);
- reader.close();
- str=sb.toString();
- } catch (IOException e) {
- e.printStackTrace();
- }finally {
- huc.disconnect();
- return str;
- }
- }
- public static String DoGet(String locationStr){
- String str="";
- try {
- URL url=new URL(baseUri+locationStr);
- huc=(HttpURLConnection)url.openConnection();
- huc.connect();
- // 读取响应
- BufferedReader reader = new BufferedReader(new
- InputStreamReader(huc.getInputStream()));
- String lines;
- StringBuffer sb = new StringBuffer("");
- while ((lines = reader.readLine()) != null) {
- lines = URLDecoder.decode(lines, "utf-8");
- sb.append(lines);
- }
- System.out.println(sb);
- reader.close();
- str=sb.toString();
- } catch (IOException e) {
- e.printStackTrace();
- }finally {
- huc.disconnect();
- return str;
- }
- }
- public static String DoPost(String locationStr,Object obj){
- String str="";
- try {
- URL url=new URL(baseUri+locationStr);
- huc=(HttpURLConnection)url.openConnection();
- huc.setDoOutput(true);
- huc.setDoInput(true);
- huc.setRequestMethod("POST");
- // huc.setRequestProperty("Content-Type","plain/text; charset=UTF-8");
- huc.setRequestProperty("Content-Type","application/json; charset=UTF-8");
- // 设置通用的请求属性
- huc.setRequestProperty("accept", "*/*");
- huc.setRequestProperty("connection", "Keep-Alive");
- huc.setUseCaches(false);
- huc.setInstanceFollowRedirects(true);
- huc.connect();
- // int responseCode=huc.getResponseCode();
- // System.out.println("responseCode:"+responseCode);
- // Object o=huc.getOutputStream();
- // OutputStream out = new BufferedOutputStream(huc.getOutputStream());
- // writeStream(out);
- //
- // InputStream in = new BufferedInputStream(huc.getInputStream());
- // readStream(in);
- DataOutputStream out = new
- DataOutputStream(huc.getOutputStream());
- // JSONObject obj = new JSONObject();
- // String json = java.net.URLEncoder.encode(obj.toString(), "utf-8");
- String json=new Gson().toJson(obj);
- out.writeBytes(json);
- out.flush();
- out.close();
- // 读取响应
- BufferedReader reader = new BufferedReader(new
- InputStreamReader(huc.getInputStream()));
- String lines;
- StringBuffer sb = new StringBuffer("");
- while ((lines = reader.readLine()) != null) {
- lines = URLDecoder.decode(lines, "utf-8");
- sb.append(lines);
- }
- System.out.println(sb);
- reader.close();
- str=sb.toString();
- return str;
- } catch (Exception e) {
- e.printStackTrace();
- }finally {
- huc.disconnect();
- return str;
- }
- }
- }
Android WebAPIOperator的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- Android UI体验之全屏沉浸式透明状态栏效果
前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...
随机推荐
- Windows同时安装多个JDK
一.下载并安装JDK这一步选择你需要的JDK并下载安装,记得要记住安装的路径. 二.为JDK配置环境变量①找到系统环境变量 ②新建如下三个环境变量 第一个表示默认Java的home路径,以后在更改JD ...
- java端口被占用解决办法
- 运维自动化工具--Ansible
运维自动化工具Ansible 1. ansible安装 rocky安装 需要先安装 enel源 # yum install -y epel-release 然后再安装ansible # yum ins ...
- Centos7中Jar快速启动脚本
Centos7中Jar快速启动脚本 创建一个文本,将以下脚本内容复制到文本当中,重命名文本后缀为.sh 注意:根据自己的项目进行更改相关内容,对应注释已说明 #!/bin/sh APP_NAME=ma ...
- Shell 摘抄:growpart中的参数处理
下面这段代码中,变量cur表示这次循环所要处理的参数.如果没有触发前面的选项开关,第一个参数会被赋值给$DISK,第二个参数会赋值给$PART. 强无敌!- while [ $# -ne 0 ]; d ...
- IDEA:使用Test注解,控制台无法输入
解决方案 步骤一: 点击help ===> Edit Custom VM Options... 步骤二: 添加文件末尾添加如下内容 -Deditable.java.test.console=tr ...
- 什么是PMP?
PMP(Project Management Professional)中文名称叫项目管理专业人士资格认证.它是由美国项目管理协会(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证 ...
- 重返照片的原始世界:我为.NET打造的RAW照片解析利器
重返照片的原始世界:我为.NET打造的RAW照片解析利器 如果你是我的老读者,你可能还记得,在2019年,我冒险进入了一片神秘的领域--用C#解析RAW格式的照片: 20191208 - 用.NET解 ...
- 宝塔linux网站搬家思路
对于一个网站来说,其实就分为两个部分,一个是网站的源码,另一个就是网站的数据库. 那么对于网站搬家而言,要考虑的也就是两点,一是要打包网站的源码,再者就是要打包网站的数据库.其次就是要在新的站点,配置 ...
- 使用在线Excel时,有哪些方法可以引入计算函数?
摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在日常生活和工作中,我们都会或多或少的使用Excel中的 ...