在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(); } 

更多相关文章

  1. Android播放视频的方式
  2. AsyncTask、View.post(Runnable)、ViewTreeObserver三种方式总结
  3. Android两种杀掉进程方式总结(System.exit()和Process.killProce
  4. Android(安卓)JNI 使用的数据结构JNINativeMethod详解
  5. Android轮询机制
  6. Android(安卓)用 ListView 实现倒计时列表功能
  7. Android图形系统分析与移植 -- 三、内核空间显示功能介绍
  8. 漫谈Android数据缓存、数据序列化和Intent传递复杂数据
  9. Android布局方式(AbsoluteLayout)学习

随机推荐

  1. SQLite数据库总结
  2. 关于在as上启动虚拟机时发生问题的解决
  3. Android(安卓)TextView中字体行间距的设
  4. Android PopupWindow 隐藏软键盘的方法
  5. Android模仿乐淘的应用程序分析源码
  6. 禁止Edittext弹出系统软键盘 的几种方法
  7. 程序中如何获取Android的Root权限
  8. Android Studio:正确引入so文件的方法
  9. Android BLE Gatt Error
  10. android 技术点记录