(2012-11-27 11:23:26)

标签:

android

http

get

post

mars

分类: Android系列

访问url,需要连接网络。所以,首先应该添加Manifest权限:

<uses-permission android:name="android.permission.INTERNET"/>

1.Get请求(核心代码)

private String baseUrl="http://192.168.1.100:8080/serverside/name";

private String name,age; //代表用户输入的请求内容

private HttpResponse httpResponse;

private HttpEntity httpEntity;

private InputStream inputStream;

public void onClick(View v){

//此处的name+age,作为数据发送

String url=baseUrl+"?"+"name="+name+"&"+"age="+age;

//生成一个请求对象

HttpGet httpGet=new HttpGet(url);

//生成一个http客户端对象

HttpClient httpClient=new DefaultHttpClient();

//使用客户端发送请求对象

try {

//接收服务器返回的响应

httpResponse=httpClient.execute(httpGet);

//获取响应的内容

httpEntity=httpResponse.getEntity();

//将内容写入流中

inputStream=httpEntity.getContent();

//InputStreamReader是字节流到字符流的桥梁,将字节流转换为字符流存入缓冲区BufferedReader中

BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));

String result="";

String line=""; //每次读取一行数据

while((line=bufferedReader.readLine()) != null){

result=result+line;

}

//输出服务器返回的内容

System.out.println(result);

} catch (Exception e) {

e.printStackTrace();

}

}

2、POST请求(核心代码)

private String baseUrl="http://192.168.1.100:8080/serverside/name";

private String name,age;

private HttpResponse httpResponse;

private HttpEntity httpEntity;

private InputStream inputStream;

public void onClick(View v){

//把请求的数据,添加到NameValuePair中

NameValuePair nameValuePair1=new BasicNameValuePair("name", name);

NameValuePair nameValuePair2=new BasicNameValuePair("age", age);

//将其添加到list列表中

List list=new ArrayList();

list.add(nameValuePair1);

list.add(nameValuePair2);

try {

//将列表添加到HttpEntity中

HttpEntity requesthttpEntity=new UrlEncodedFormEntity(list);

//生成一个请求对象

HttpPost httpPost=new HttpPost(baseUrl);

//httpPost设置Entity ==把数据添加到了httpPost中

httpPost.setEntity(requesthttpEntity);

//生成一个http客户端对象

HttpClient httpClient=new DefaultHttpClient();

httpResponse=httpClient.execute(httpPost);

httpEntity=httpResponse.getEntity();

inputStream=httpEntity.getContent();

BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));

String result="";

String line="";

while((line=bufferedReader.readLine()) != null){

result=result+line;

}

System.out.println(result);

} catch (Exception e) {

e.printStackTrace();

}

}

3.总结

---Android中,用GET和POST访问http资源---

·字节,而POST则没有此限制

两种方法,只是传送数据的方式不同。根据不同的服务器规定的请求访问方式,灵活的运行Get和Post。

最新文章

  1. H5之contenteditable
  2. H5游戏开发之抓住小恐龙
  3. SQL 执行计划(二)
  4. Codevs 5208 求乘方取模
  5. HDU-2527 Safe Or Unsafe
  6. POJ 2418 Hardwood Species( AVL-Tree )
  7. jQuery中animate动画第二次点击事件没反应
  8. option触发事件两种方法总结
  9. UE4中的单映射:TMap容器
  10. 深入剖析java迭代器以及C#迭代器!
  11. vue.js--遇到的一些错误
  12. 『转载』hadoop2.x常用端口、定义方法及默认端口
  13. JTA 使用 MySQL 分布式事务
  14. 关于JSONP以及跨域相关
  15. libjson 编译和使用 - 2. 配置使用lib文件
  16. monkey基础学习
  17. 问题:alias设置与删除
  18. unity, editorWindow update计时
  19. OpenCL学习笔记(一):摩尔定律,异构计算与OpenCL初印象
  20. @MySQL为表字段添加索引

热门文章

  1. 【转载】linux环境下tcpdump源代码分析
  2. 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView
  3. Swift一些语法
  4. javascript代码复用模式(二)
  5. Freebsd下压缩解压文件详解
  6. SVN与TortoiseSVN实战:属性的奇技淫巧(二)
  7. 开源项目:windows下使用MinGW+msys编译ffmpeg
  8. solr5.5教程-solr.home 配置
  9. Excel 统计IP
  10. 乐够GO应用源码完整版