您的位置:首页 > 理论基础 > 计算机网络

Android网络编程之通过Post传递参数

2011-05-17 22:27 411 查看
前面一篇文章《Android网络编程之通过Get方法实现》我们讲解了Android中通过Get方法实现网络编程的基本例子,我们知道,在网络编程中还有另一个方法,就是通过Psot来实现与服务器的数据交换,因此在本文中将对Android中Post方法做简要介绍。

同样的,我们用一个例子来做分析,以熟悉各个方法的使用。

A、使用Map来存储参数

Map<String, String> map = new HashMap<String, String>();

map.put(“name”, “ataaw”);

map.put(“password”, “ataaw.com”);

B、使用DefaultHttpClient创建HttpClient实例

DefaultHttpClient httpClient = new DefaultHttpClient();

C、构建HttpPost

HttpPost post = new HttpPost(“http://www.ataaw.com/..”);

D、将由Map存储的参数转化为键值NameValue

List<BasicNameValuePair> postData = new ArrayList<BasicNameValuePair>();

for (Map.Entry<String, String> entry : map.entrySet()) {

postData.add(new BasicNameValuePair(entry.getKey(),

entry.getValue()));

}

E、使用编码构建Post实体

UrlEncodedFormEntity entity = new UrlEncodedFormEntity(

postData, HTTP.UTF_8);

F、设置Post实体

post.setEntity(entity);

G、执行Post方法

HttpResponse response = httpClient.execute(post);

H、获取返回实体

HttpEntity httpEntity = response.getEntity();

I、将H中返回实体转化为输入流

InputStream is = httpEntity.getContent();

J、读取输入流

StringBuffer sb = new StringBuffer();

BufferedReader br = new BufferedReader(new InputStreamReader(is));

String line = “”;

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

sb.append(line);

}

以上就是Android中通过Post来实现客户端与服务端的通讯过程,完成参数封装到发送到服务器,最后接收服务端返回的数据,从而完成一个完整的HTTP数据传递过程。
本文出自 “android iOS” 博客,请务必保留此出处http://lovely1133.blog.51cto.com/1612511/567333
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: