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

android http-post方法简单实现

2012-04-26 14:13 821 查看
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

TextViewshow;
030
private

EditTexttxt;
031
private

Buttonbtn;
032
033
@Override
034
public

void
onCreate(BundlesavedInstanceState){
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(Viewv){
044
dopost(txt.getText().toString());
045
046
}
047
});
048
}
049
050
private

void
dopost(Stringval){
051
//封装数据
052
Map<String,String>parmas=
new
HashMap<String,String>();
053
parmas.put(
"name"
,val);
054
055
DefaultHttpClientclient=
new
DefaultHttpClient();
//http客户端
056
HttpPosthttpPost=
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
Stringkey=(String)i.next();
063
pairs.add(
new

BasicNameValuePair(key,parmas.get(key)));
064
}
065
}
066
067
try

{
068
UrlEncodedFormEntityp_entity=
new
UrlEncodedFormEntity(pairs,
"utf-8"
);
069
/*
070
*将POST数据放入HTTP请求
071
*/
072
httpPost.setEntity(p_entity);
073
/*
074
*发出实际的HTTPPOST请求
075
*/
076
HttpResponseresponse=client.execute(httpPost);
077
HttpEntityentity=response.getEntity();
078
InputStreamcontent=entity.getContent();
079
StringreturnConnection=convertStreamToString(content);
080
show.setText(returnConnection);
081
}
catch

(IllegalStateExceptione){
082
e.printStackTrace();
083
}
catch

(IOExceptione){
084
e.printStackTrace();
085
}
086
087
}
088
089
private

StringconvertStreamToString(InputStreamis){
090
BufferedReaderreader=
new
BufferedReader(
new

InputStreamReader(is));
091
StringBuildersb=
new
StringBuilder();
092
Stringline=
null
;
093
try

{
094
while

((line=reader.readLine())!=
null
){
095
sb.append(line);
096
}
097
}

catch
(IOExceptione){
098
e.printStackTrace();
099
}

finally
{
100
try

{
101
is.close();
102
}
catch
(IOExceptione){
103
e.printStackTrace();
104
}
105
}
106
return

sb.toString();
107
}
108
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: