Android开发笔记-使用Volley开源库进行Http网络请求(POST方式)

之前使用了开源网络请求库Volley进行了Http GET请求。这次我们讨论使用Volley进行POST请求。POST请求比GET稍微复杂一点点。可以认为是建立在GET的基础上。POST使发送的url更加简洁,安全,高效,使能发送更大量的数据。

       该例子仍旧是对聚合数据的手机号码归属地进行请求,返回JSON数据,显示在TextView上。不要忘了在AndroidMenifest.xml内加入Internet权限。直接上代码:

[java]  view plain  copy
 print ?
  1. public class MainActivity extends Activity {  
  2.   
  3.     private TextView text;  
  4.   
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_main);  
  9.         text = (TextView) findViewById(R.id.id_text);  
  10.   
  11.         volleyPost();  
  12.     }  
  13.   
  14.     public void volleyPost() {  
  15.         String url = "http://apis.juhe.cn/mobile/get";//这里和GET方式不同的是去掉了“?”后面的参数;  
  16.         /** 
  17.          * 第一个参数指定了请求方式,第二个参数指定了url,第三个参数指定了正确访问的返回结果,第四个参数是访问失败后的业务逻辑; 
  18.          * 
  19.          */  
  20.         StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {  
  21.             @Override  
  22.             public void onResponse(String result) {  
  23.                 text.setText(result);//返回结果显示在TextView;  
  24.             }  
  25.         }, new Response.ErrorListener() {  
  26.             @Override  
  27.             public void onErrorResponse(VolleyError volleyError) {  
  28.                 text.setText("未能请求到数据");  
  29.             }  
  30.         }) {  
  31.             @Override  
  32.             protected Map<String, String> getParams() throws AuthFailureError {//在这里封装了需要发送的参数;  
  33.                 HashMap<String, String> map = new HashMap<>();  
  34.                 map.put("phone""13429667914");//以键值对的形式存放;  
  35.                 map.put("key""9719c91bd4ac2647c67c6cd067b5cb8e");  
  36.                 return map;  
  37.             }  
  38.         };  
  39.         Volley.newRequestQueue(getApplicationContext()).add(request);//加入请求队列;  
  40.     }//volleyPost();  
  41. }  
      最后的实现效果如下截图所示:


      至此,已经成功实现了Http POST请求。可以根据业务需求对返回的JSON数据进行解析。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值