android中post方法,android中HttpClient的应用(POST方法)

1 importandroid.os.Handler;2 importandroid.os.Message;3 importandroid.support.v7.app.AppCompatActivity;4 importandroid.os.Bundle;5 importandroid.util.Log;6 importandroid.view.View;7 importandroid.widget.TextView;8

9 importcom.google.gson.Gson;10 importcom.google.gson.reflect.TypeToken;11

12 importorg.apache.http.HttpEntity;13 importorg.apache.http.HttpResponse;14 importorg.apache.http.HttpStatus;15 importorg.apache.http.NameValuePair;16 importorg.apache.http.client.ClientProtocolException;17 importorg.apache.http.client.HttpClient;18 importorg.apache.http.client.entity.UrlEncodedFormEntity;19 importorg.apache.http.client.methods.HttpGet;20 importorg.apache.http.client.methods.HttpPost;21 importorg.apache.http.client.utils.URLEncodedUtils;22 importorg.apache.http.impl.client.DefaultHttpClient;23 importorg.apache.http.message.BasicNameValuePair;24 importorg.apache.http.protocol.HTTP;25 importorg.apache.http.util.EntityUtils;26

27 importjava.io.IOException;28 importjava.io.UnsupportedEncodingException;29 importjava.lang.reflect.Type;30 importjava.util.ArrayList;31 importjava.util.LinkedList;32 importjava.util.List;33

34 public class MainActivity extendsAppCompatActivity {35

36 @Override37 protected voidonCreate(Bundle savedInstanceState) {38 super.onCreate(savedInstanceState);39 setContentView(R.layout.activity_main);40 //开启一个子线程,进行网络操作,等待有返回结果,使用handler通知UI

41 newThread(networkTask).start();42

43 }44

45 Handler handler = newHandler() {46 @Override47 public voidhandleMessage(Message msg) {48 super.handleMessage(msg);49 Bundle data =msg.getData();50 String val = data.getString("value");51 Log.i("mylog", "请求结果为-->" +val);52 //TODO53 //UI界面的更新等相关操作

54 }55 };56

57 /**

58 * 网络操作相关的子线程59 */

60 Runnable networkTask = newRunnable() {61 @Override62 public voidrun() {63 //TODO64 //在这里进行 http request.网络请求相关操作

65 String TAG = "ABC";66

67 //baseUrl

68 String url = "http://192.168.8.7/insert.php";69

70 HttpPost request = newHttpPost(url);71

72 //先将参数放入List,再对参数进行URL编码

73 List params = new LinkedList();74 params.add(new BasicNameValuePair("firstname", "这个是安卓"));75 params.add(new BasicNameValuePair("lastname", "这是安卓加进去的"));76 params.add(new BasicNameValuePair("age", "66"));77

78 try{79 HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");80

81 request.setEntity(entity);82

83 HttpClient client = newDefaultHttpClient();84

85 HttpResponse response =client.execute(request);86

87 Log.e(TAG, "Response Code: " +

88 response.getStatusLine().getStatusCode());89

90 if(response.getStatusLine().getStatusCode() ==HttpStatus.SC_OK) {91

92 String data =EntityUtils.toString(response.getEntity());93

94 }95 } catch(IOException e) {96 Log.e(TAG, "~~~~~~"+e);97 e.printStackTrace();98 }99 Message msg = newMessage();100 Bundle data = newBundle();101 data.putString("value", "请求结果");102 msg.setData(data);103 handler.sendMessage(msg);104 }105 }106 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值