本文共 3112 字,大约阅读时间需要 10 分钟。
package
com.hl;
002 |
003 | import java.io.BufferedReader; |
004 | import java.io.IOException; |
005 | import java.io.InputStream; |
006 | import java.io.InputStreamReader; |
007 | import java.util.ArrayList; |
008 | import java.util.HashMap; |
009 | import java.util.Iterator; |
010 | import java.util.Map; |
011 | import java.util.Set; |
012 |
013 | import org.apache.http.HttpEntity; |
014 | import org.apache.http.HttpResponse; |
015 | import org.apache.http.client.entity.UrlEncodedFormEntity; |
016 | import org.apache.http.client.methods.HttpPost; |
017 | import org.apache.http.impl.client.DefaultHttpClient; |
018 | import org.apache.http.message.BasicNameValuePair; |
019 |
020 | import android.app.Activity; |
021 | import android.os.Bundle; |
022 | import android.view.View; |
023 | import android.view.View.OnClickListener; |
024 | import android.widget.Button; |
025 | import android.widget.EditText; |
026 | import android.widget.TextView; |
027 |
028 | public 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<String, String> parmas = new HashMap<String, String>(); |
053 | parmas.put( "name" , val); |
054 | |
055 | DefaultHttpClient client = new DefaultHttpClient(); //http客户端 |
056 | HttpPost httpPost = new HttpPost( "http://mhycoe.com/test/post.php" ); |
057 | |
058 | ArrayList<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>(); |
059 | if (parmas != null ){ |
060 | Set<String> keys = parmas.keySet(); |
061 | for (Iterator<String> 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( new InputStreamReader(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 | } |
转载地址:http://rpqci.baihongyu.com/