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. maven项目工程报错:cannot be resolved to a type

    1.在本地仓库中,搜索“_maven.repositories”所有匹配项,并彻底删除 2.然后再删除“.lastUpdated”所有匹配项 3.最后再重新在eclipse中执行操作:update d ...

  2. ubuntu 12.10 apt-get 源

    更改apt-get源配置文件/etc/apt/sources.list 用一下内容替换掉 deb http://mirrors.163.com/ubuntu/ precise main restric ...

  3. python如何连接mysql数据库

    先花点时间来说说一个程序怎么和数据库进行交互1.和数据库建立连接2.执行sql语句,接收返回值3.关闭数据库连接使用MySQLdb也要遵循上面的几步.让我们一步步的进行. 1.MySQL数据库要用My ...

  4. Linux虚拟机Centos 设置固定的静态IP

    经过两天的研究(研究到深夜1点),百度了很多文章与加了几个linux的群,终于得到一种方式是可以正常设置静态IP且正常的ssh连接的方式. 第一种方式:NAT模式 参考文章 -- 虚拟机中的CentO ...

  5. 使用Squid搭建HTTPS代理服务器

    由于经常去的一些国外网站如Google.Blogspot.Wordpress被"出现了技术问题",访问不了,于是我在自己的DigitalOcean云主机上搭建了一个 Squid代理 ...

  6. spark 1.3 发布了

    悄悄地,spark 还是像往常一样,发布了1.3版本,从release notes可以看出,这一版本比较大的变化是1. 增加了DataFrame API,这样以后操作一些结构化的数据集时将会变的非常方 ...

  7. php 按条件进行计算的方法

    $isin = in_array($sheng,$s_sheng);//post过来的省的编码是否在s_sheng(自定义的数组)里,如果在,则加一,如果不在则不加一 if($isin){ //ech ...

  8. jQuery 尺寸 方法

    jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() outerWidth() outerHeight()

  9. 嵌入式开发之davinci--- 8148/8168/8127 中swms、Mosaic’s、display 显示pal 模式

    (1) (2) (3) (4) -------------------------author:pkf ------------------------------time:2-3 --------- ...

  10. sqoop-1.4.4安装配置

    环境:redhat6.5 hadoop2.4.1 感谢: http://wenku.baidu.com/view/a9083da8dd3383c4bb4cd274.html注释hbase检查 感谢: ...