Android HttpClient GET或者POST请求基本使用方法

 更新时间:2012年12月11日 15:30:41   作者:  
在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.这里只介绍如何使用HttpClient发起GET或者POST请求
在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务。你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求(当然它的功能远不止这些)

这里只介绍如何使用HttpClient发起GET或者POST请求
GET 方式
复制代码 代码如下:

//先将参数放入List,再对参数进行URL编码
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "中国"));
params.add(new BasicNameValuePair("param2", "value2"));
//对参数编码
String param = URLEncodedUtils.format(params, "UTF-8");
//baseUrl
String baseUrl = "http://ubs.free4lab.com/php/method.php";
//将URL与参数拼接
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);

HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(getMethod); //发起GET请求
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

POST方式
复制代码 代码如下:

//和GET方式一样,先将参数放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));
params.add(new BasicNameValuePair("param2", "第二个参数"));

try {
HttpPost postMethod = new HttpPost(baseUrl);
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中

HttpResponse response = httpClient.execute(postMethod); //执行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

相关文章

  • Android自定义实现淘宝下拉刷新效果

    Android自定义实现淘宝下拉刷新效果

    这篇文章主要为大家详细介绍了Android自定义实现淘宝下拉刷新效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android给图片添加水印

    Android给图片添加水印

    最近在项目执行过程中有这样一个需求,要求拍完照的图片必须添加水印,本文记录一下实现过程
    2021-05-05
  • Kotlin中?和!!的区别详细对比

    Kotlin中?和!!的区别详细对比

    这篇文章主要给大家介绍了关于Kotlin中?和!!区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Android ViewPager实现动画切换效果

    Android ViewPager实现动画切换效果

    这篇文章主要为大家详细介绍了Android ViewPager实现动画切换效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • ANDROID BottomNavigationBar底部导航栏的实现示例

    ANDROID BottomNavigationBar底部导航栏的实现示例

    本篇文章主要介绍了ANDROID BottomNavigationBar底部导航栏的实现示例,非常具有实用价值,需要的朋友可以参考下
    2017-10-10
  • Android判断手机是否联网及自动跳转功能(收藏版)

    Android判断手机是否联网及自动跳转功能(收藏版)

    这篇文章主要介绍了Android判断手机是否联网及自动跳转功能(收藏版),在一些手机端连接wifi我们经常会遇到这样的功能,今天小编通过实例截图给大家介绍下,需要的朋友可以参考下
    2019-11-11
  • Android TabLayout选项卡使用教程

    Android TabLayout选项卡使用教程

    这篇文章主要介绍了Android TabLayout选项卡使用,为什么会有这篇文章呢,是因为之前关于TabLayout的使用陆陆续续也写了好几篇了,感觉比较分散,且不成体系,写这篇文章的目的就是希望能把各种效果的实现一次性讲齐
    2023-04-04
  • ViewPager2滑动冲突的解决方法

    ViewPager2滑动冲突的解决方法

    这篇文章主要为大家详细介绍了ViewPager2滑动冲突的解决方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 详谈Android从文件读取图像显示的效率问题

    详谈Android从文件读取图像显示的效率问题

    下面小编就为大家带来一篇详谈Android从文件读取图像显示的效率问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Android实现为Notification加上一个进度条的方法

    Android实现为Notification加上一个进度条的方法

    这篇文章主要介绍了Android实现为Notification加上一个进度条的方法,结合实例形式分析了Android针对Notification组件的相关操作技巧,需要的朋友可以参考下
    2016-10-10

最新评论