Android中使用Post请求的方法
程序员文章站
2023-11-18 13:03:28
本文实例讲述了android中使用post请求的方法。分享给大家供大家参考。具体如下:
一、需要用到的场景
在jquery中使用$.post()就可以方便的发起一个po...
本文实例讲述了android中使用post请求的方法。分享给大家供大家参考。具体如下:
一、需要用到的场景
在jquery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。
二、需要用到的主要类
在android中使用post请求主要要用到的类是httppost、httpresponse、entityutils
三、主要思路
1、创建httppost实例,设置需要请求服务器的url。
2、为创建的httppost实例设置参数,参数设置时使用键值对的方式用到namevaluepair类。
3、发起post请求获取返回实例httpresponse
4、使用entityutils对返回值的实体进行处理(可以取得返回的字符串,也可以取得返回的byte数组)
代码也比较简单,注释也加上了,就直接贴出来了
package com.justsy.url; import java.io.ioexception; import java.util.arraylist; import java.util.list; import org.apache.http.httpresponse; import org.apache.http.namevaluepair; import org.apache.http.client.clientprotocolexception; import org.apache.http.client.entity.urlencodedformentity; import org.apache.http.client.methods.httppost; import org.apache.http.impl.client.defaulthttpclient; import org.apache.http.message.basicnamevaluepair; import org.apache.http.protocol.http; import org.apache.http.util.entityutils; import android.app.activity; import android.os.bundle; public class httpurlactivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); system.out.println("start url..."); string url = "http://192.168.2.112:8080/justsyapp/applet"; // 第一步,创建httppost对象 httppost httppost = new httppost(url); // 设置http post请求参数必须用namevaluepair对象 list<namevaluepair> params = new arraylist<namevaluepair>(); params.add(new basicnamevaluepair("action", "downloadandroidapp")); params.add(new basicnamevaluepair("packageid", "89dcb664-50a7-4bf2-aeed-49c08af6a58a")); params.add(new basicnamevaluepair("uuid", "test_ok1")); httpresponse httpresponse = null; try { // 设置httppost请求参数 httppost.setentity(new urlencodedformentity(params, http.utf_8)); httpresponse = new defaulthttpclient().execute(httppost); //system.out.println(httpresponse.getstatusline().getstatuscode()); if (httpresponse.getstatusline().getstatuscode() == 200) { // 第三步,使用getentity方法活得返回结果 string result = entityutils.tostring(httpresponse.getentity()); system.out.println("result:" + result); t.displaytoast(httpurlactivity.this, "result:" + result); } } catch (clientprotocolexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } system.out.println("end url..."); setcontentview(r.layout.main); } }
add:使用httpurlconnection 进行post请求:
string path = "http://192.168.2.115:8080/android-web-server/httpconnectservlet.do?packageid=89dcb664-50a7-4bf2-aeed-49c08af6a58a"; url url = new url(path); httpurlconnection conn = (httpurlconnection) url.openconnection(); conn.setrequestmethod("post"); conn.setconnecttimeout(5000); system.out.println(conn.getresponsecode());
希望本文所述对大家的android程序设计有所帮助。
上一篇: .net core 反射的介绍与使用
下一篇: android实现缓存图片等数据