Android的HTTP方式网络通信----HttpClient
2013-09-06 18:52
113 查看
HttpClient也是一种Http的网络通信方式,这里同样分为get和post两种方式,我们一起来看一下吧。
一:HttpClient方式----get
在这之前我们同样用上一篇博文中的服务器文件,用来根据传入的参数,返回给客户端信息。具体文件内容如下:
具体步骤:
(1)定义一个String类型的字符串,将服务器地址赋值给他,由于这里使用的get方法,所以参数的传递会直接显示在URL路径上。这里同样要注意参数的传递方式。具体如下
(2)创建数据请求对象HttpGet,并根据标志服务器地址的字符串,实例化请求对象。
(3)创建客户端对象,用来发送上面的请求。由于它是抽象类,需要通过它的子类去实例化他
(4)创建获得响应的对象HttpResponse。用来接收客户端对象执行请求之后,服务器端给你返回的响应对象。
(5)创建接收信息的对象HttpEntity,通过HttpResponse对象的getEntity()方法获得回应的信息
(6)创建输入流对象,通过HttpEntity对象的getContent方法获得返回信息的内容,通过流对象进行读取输出在TextView控件上。
(7)特别注意的一点:添加网络权限。
结果:在模拟器的频幕上有如下显示,把两个字符串拼接在了一起。
二:HttpClient方式----Post
我们同样引用上一个服务器文件,用来返回拼接好的字符串。
具体操作:
(1)创建数据请求对象HttpPost,这里我们直接通过构造方法中传入标志服务器地址字符串的方式,实例化对象。注意这里的字符串中不能把参数直接写在后面,而是通过以下的方法来携带数据给服务器。
(2)创建客户端对象HttpClient
(3)创建泛型为BasicNameValuePair的List列表,这个泛型表示的内容就是以键值对的形式,将传递参数的值存储起来。
(4)创建数据存储对象UrlEncodedFormEntity,用List存储的数据实例化UrlEncodedFormEntity对象
(5)给数据请求对象添加传递的参数的值
(6)实例化接收响应的对象
(7)创建接收信息的对象HttpEntity,通过HttpResponse对象的getEntity()方法获得回应的信息
(8)创建输入流对象,通过HttpEntity对象的getContent方法获得返回信息的内容,通过流对象进行读取输出在TextView控件上。
(9)特别注意:要添加网络通信权限。
结果:在模拟器的频幕上有如下显示,把两个字符串拼接在了一起。(结果同上)
Android中的网络通信,很有用处,比如我们可以通过网络通信方式获得网络中Json字符串,解析出来为我们所用。我们明日再见哈
本文出自 “辛德瑞拉” 博客,请务必保留此出处http://cinderella7.blog.51cto.com/7607653/1290171
一:HttpClient方式----get
在这之前我们同样用上一篇博文中的服务器文件,用来根据传入的参数,返回给客户端信息。具体文件内容如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% String a = request.getParameter("a"); String b = request.getParameter("b"); if(a!=null&&b!=null){ out.println(a + b); }else { out.print("error"); } %> |
(1)定义一个String类型的字符串,将服务器地址赋值给他,由于这里使用的get方法,所以参数的传递会直接显示在URL路径上。这里同样要注意参数的传递方式。具体如下
String strURL = "http://222.27.166.10:8080/MyServer/youcan.jsp?a=hello&b=word"; |
httpGet = new HttpGet(strURL); |
httpClient = new DefaultHttpClient(); |
httpResponse = httpClient.execute(httpGet); |
httpEntity = httpResponse.getEntity(); |
in =httpEntity.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line = null; StringBuffer sb = new StringBuffer(); while ((line = br.readLine())!=null) { sb.append(line); } // System.out.println(sb.toString()); tv.setText(sb.toString()); |
<uses-permission android:name="android.permission.INTERNET"/> |
二:HttpClient方式----Post
我们同样引用上一个服务器文件,用来返回拼接好的字符串。
具体操作:
(1)创建数据请求对象HttpPost,这里我们直接通过构造方法中传入标志服务器地址字符串的方式,实例化对象。注意这里的字符串中不能把参数直接写在后面,而是通过以下的方法来携带数据给服务器。
httpPost = new HttpPost("http://222.27.166.10:8080/MyServer/youcan.jsp"); |
httpClient = new DefaultHttpClient(); |
List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>(); list.add(new BasicNameValuePair("a", "hello")); list.add(new BasicNameValuePair("b","word")); |
urlEncodedFormEntity = new UrlEncodedFormEntity(list); |
httpPost.setEntity(urlEncodedFormEntity); |
httpResponse = httpClient.execute(httpPost); |
httpEntity = httpResponse.getEntity(); |
in = httpEntity.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line=null; StringBuffer sb=new StringBuffer(); while ((line = br.readLine())!=null) { sb.append(line); } tv.setText(sb.toString()); |
<uses-permission android:name="android.permission.INTERNET"/> |
Android中的网络通信,很有用处,比如我们可以通过网络通信方式获得网络中Json字符串,解析出来为我们所用。我们明日再见哈
本文出自 “辛德瑞拉” 博客,请务必保留此出处http://cinderella7.blog.51cto.com/7607653/1290171
相关文章推荐
- Android中网络通信方式的简单汇总(HttpURLConnection、HttpClient、Socket等)
- Android HttpClient(Get,Post方式)进行网络通信
- Android网络数据之向服务器提交数据的三种方式(get+post+AsyncHttpClient)
- Android核心基础-7.Android 网络通信-2.使用开源项目AsyncHttpClient
- Android HTTP网络通信(一):使用HttpURLConnection、HttpClient
- android http通信方式连接网络
- android HTTP通信方式连接网络
- Android通信方式(二)-----HttpClient (手机号码归属地查询)
- Android中基于HTTP的通信技术(2)使用Http的Post方式读取网络数据
- Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
- Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
- Android之Http通信——4.Android HTTP请求方式:HttpClient
- Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)
- android http通信方式连接网络
- Android HTTP协议请求网络(二)之HttpClient方式
- Android 中的两种请求网络资源的方式:HttpClient和HttpURLConnection
- Android HttpClient网络通信
- Android中基于HTTP的通信技术(1)使用Http的Get方式读取网络数据
- Android 网络通信HttpClient的环境配置和注意点
- Android 网络通信——HttpClient