public class MyHttpUrlCon {

     public static String settionId = "";

     public static final int TIMEOUT = ;//

     public ReturnData doGet(String urlString) {
HttpURLConnection conn = null;
try { URL url = new URL(urlString);
conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout();
conn.setReadTimeout();
conn.setRequestMethod("GET");
conn.setRequestProperty("cookie", settionId);
conn.connect(); if (conn.getHeaderField("set-cookie") != null) {
settionId = conn.getHeaderField("set-cookie");
Log.d("mm", "Constants.settionId:" + settionId);
} else {
return new ReturnData(ReturnData.TimeOut, "");
} if (conn.getResponseCode() == ) {
InputStream is = conn.getInputStream();
BufferedReader bf = new BufferedReader(
new InputStreamReader(is));
String line = "";
StringBuilder sb = new StringBuilder();
while ((line = bf.readLine()) != null) {
sb.append(line);
}
String jsonString = sb.toString().replace("\n", "\\n")
.replace("\r", "\\r");
String jsonStr = jsonString.substring(jsonString.indexOf("{"),
jsonString.length()); return new ReturnData(ReturnData.Succee, jsonStr); } else {
return new ReturnData(ReturnData.NoRespond, "");
} } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return new ReturnData(ReturnData.NoRespond, "");
} finally {
if (conn != null) {
conn.disconnect();
}
}
} public ReturnData doPost(String urlString, String params) {
URL url;
HttpURLConnection conn = null;
InputStream input = null;
try {
url = new URL(urlString);
conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(); // 请求超时
conn.setRequestMethod("POST"); // 请求方式
conn.setReadTimeout(); // 读取超时
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
// conn.setRequestProperty("cookie", settionId);
OutputStream os = conn.getOutputStream();
System.out.println("请求的参数" + params);
os.write(params.getBytes("utf-8"));
os.close(); if (conn != null) {
int code = conn.getResponseCode();
System.out.println(code + ":");
if (code == ) {
input = conn.getInputStream();
BufferedReader bf = new BufferedReader(
new InputStreamReader(input));
String line = "";
StringBuilder sbuilder = new StringBuilder();
while ((line = bf.readLine()) != null) {
sbuilder.append(line);
}
System.out.println(sbuilder.toString());
String jsonString = sbuilder.toString()
.replace("\n", "\\n").replace("\r", "\\r");
String jsonStr = jsonString.substring(
jsonString.indexOf("{"), jsonString.length());
return new ReturnData(ReturnData.Succee, jsonStr);
} else {
return new ReturnData(ReturnData.NoRespond, "");
}
} else {
return new ReturnData(ReturnData.NoRespond, "");
}
} catch (Exception e) {
e.printStackTrace();
return new ReturnData(ReturnData.NoRespond, "");
} finally {
if (conn != null) {
conn.disconnect();
}
}
} }

public class ReturnData {

public final static int ParserError = -3;
public final static int ParamsError = -2;
public final static int False = -1;
public final static int Succee = 0;
public final static int TimeOut = 1;
public final static int NoRespond = 2;

// 网络请求标记
private int code;
// 返回数据
private String data;

public ReturnData(int code, String data) {
this.code = code;
this.data = data;
}

/**
* 网络请求标记
*
* @return
*/
public int getCode() {
return code;
}

/**
* 网络请求标记
*
* @param code
*/
public void setCode(int code) {
this.code = code;
}

/**
* 返回数据
*
* @return
*/
public String getData() {
return data;
}

/**
* 返回数据
*
* @param data
*/
public void setData(String data) {
this.data = data;
}

}

Android Http Get Post的更多相关文章

  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. string::find_last_of

    今天在代码中用到string的这个方法,一不小心就用错了. 这是http://www.cplusplus.com/关于这个方法的解释. Find character in string from th ...

  2. jdbctemplate中的query(sql,params,mapper)与queryForList(sql,params,class)区别

    query(sql,params,mapper):是针对自定义对象类型的查询语句,比如: jdbcTrade.query(sql, params, new AMapper()); queryForLi ...

  3. 学习spring in action 第一天

    这段时间,开始学习java吧,因为C sharp 学习了java的大量语法格式,所以,留意下,就不会错了,java 有的c sharp也有,而且之前我也学习过java的桌面开发,但是一下子上来就要自己 ...

  4. Git merge two repositories (ZZ)

    转自  https://stackoverflow.com/questions/2428137/how-to-rebase-one-git-repository-onto-another-one If ...

  5. AOF 持久化策略

    Redis为了解决AOF后台重写造成的数据不一致问题,设置了AOF重写缓冲区.即使设置了no-appendfsync-on-rewrite yes也会造成短暂的主进程阻塞.原因就在于子进程完成AOF重 ...

  6. 第二百节,jQuery EasyUI,Tabs(选项卡)组件

    jQuery EasyUI,Tabs(选项卡)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 5.选项卡面板 本节课重点了解 EasyUI 中 Tabs(选项卡)组件的使用方 ...

  7. JavaScript 函数和事件

    上面例子中的 JavaScript 语句,会在页面加载时执行. 通常,我们需要在某个事件发生时执行代码,比如当用户点击按钮时. 如果我们把 JavaScript 代码放入函数中,就可以在事件发生时调用 ...

  8. poj 2513(欧拉路径+字典树映射)

    题目链接:http://poj.org/problem?id=2513 思路:题目还是很简单的,就是判断是否存在欧拉路径,我们给每个单词的头和尾映射序号,统计度数.对于给定的无向图,当且仅当图连通并且 ...

  9. python导入模块报错:ImportError: No module named mysql.connector(安装 mysql)

    python的版本是 $ python --version Python 2.7.12 报错代码如下 import mysql.connector 报错信息是 ImportError: No modu ...

  10. HDOJ 5044 Tree

    树链剖分裸题. . .. 又要扩栈又要输入挂还卡格式....真无语 Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 6553 ...