正文  网络通信 > HTTP >

android用http-post方法来提交数据

android http-post方法简单实现本代码演示在 Android 如何使用 POST 来提交数据[代码] [Java]代码001package com.hl;002003import java.io.BufferedReader;004import java.io.IOException;005import j......

android http-post方法简单实现

本代码演示在 Android 如何使用 POST 来提交数据

[代码] [Java]代码

001package com.hl;

002

003import java.io.BufferedReader;

004import java.io.IOException;

005import java.io.InputStream;

006import java.io.InputStreamReader;

007import java.util.ArrayList;

008import java.util.HashMap;

009import java.util.Iterator;

010import java.util.Map;

011import java.util.Set;

012

013import org.apache.http.HttpEntity;

014import org.apache.http.HttpResponse;

015import org.apache.http.client.entity.UrlEncodedFormEntity;

016import org.apache.http.client.methods.HttpPost;

017import org.apache.http.impl.client.DefaultHttpClient;

018import org.apache.http.message.BasicNameValuePair;

019

020import android.app.Activity;

021import android.os.Bundle;

022import android.view.View;

023import android.view.View.OnClickListener;

024import android.widget.Button;

025import android.widget.EditText;

026import android.widget.TextView;

027

028public class SimplePOST extends Activity {

029 private TextView show;

030 private EditText txt;

031 private Button btn;

032

033 @Override

034 public void onCreate(Bundle savedInstanceState) {

035 super.onCreate(savedInstanceState);

036 setContentView(R.layout.main);

037 show = (TextView)findViewById(R.id.show);

038 txt = (EditText)findViewById(R.id.txt);

039 btn = (Button)findViewById(R.id.btn);

040 btn.setOnClickListener(new OnClickListener() {

041

042 @Override

043 public void onClick(View v) {

044 dopost(txt.getText().toString());

045

046 }

047 });

048 }

049

050 private void dopost(String val){

051 //封装数据

052 Map parmas = new HashMap();

053 parmas.put("name", val);

054

055 DefaultHttpClient client = new DefaultHttpClient();//http客户端

056 HttpPost httpPost = newHttpPost("http://mhycoe.com/test/post.php");

057

058 ArrayList pairs = newArrayList();

059 if(parmas != null){

060 Set keys = parmas.keySet();

061 for(Iterator i = keys.iterator(); i.hasNext();) {

062 String key = (String)i.next();

063 pairs.add(new BasicNameValuePair(key, parmas.get(key)));

064 }

065 }

066

067 try {

068 UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(pairs,"utf-8");

069 /*

070 * 将POST数据放入HTTP请求

071 */

072 httpPost.setEntity(p_entity);

073 /*

074 * 发出实际的HTTP POST请求

075 */

076 HttpResponse response = client.execute(httpPost);

077 HttpEntity entity = response.getEntity();

078 InputStream content = entity.getContent();

079 String returnConnection = convertStreamToString(content);

080 show.setText(returnConnection);

081 } catch (IllegalStateException e) {

082 e.printStackTrace();

083 } catch (IOException e) {

084 e.printStackTrace();

085 }

086

087 }

088

089 private String convertStreamToString(InputStream is) {

090 BufferedReader reader = new BufferedReader(newInputStreamReader(is));

091 StringBuilder sb = new StringBuilder();

092 String line = null;

093 try {

094 while ((line = reader.readLine()) != null) {

095 sb.append(line);

096 }

097 } catch (IOException e) {

098 e.printStackTrace();

099 } finally {

100 try {

101 is.close();

102 } catch (IOException e) {

103 e.printStackTrace();

104 }

105 }

106 return sb.toString();

107 }

108}