Android中使用Volley开源库进行Http网络请求(POST方式)

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

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

public class MainActivity extends Activity {

    private TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (TextView) findViewById(R.id.id_text);

        volleyPost();
    }

    public void volleyPost() {
        String url = "http://apis.juhe.cn/mobile/get";//这里和GET方式不同的是去掉了“?”后面的参数;
        /**
         * 第一个参数指定了请求方式,第二个参数指定了url,第三个参数指定了正确访问的返回结果,第四个参数是访问失败后的业务逻辑;
         *
         */
        StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String result) {
                text.setText(result);//返回结果显示在TextView;
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                text.setText("未能请求到数据");
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {//在这里封装了需要发送的参数;
                HashMap<String, String> map = new HashMap<>();
                map.put("phone", "13429667914");//以键值对的形式存放;
                map.put("key", "9719c91bd4ac2647c67c6cd067b5cb8e");
                return map;
            }
        };
        Volley.newRequestQueue(getApplicationContext()).add(request);//加入请求队列;
    }//volleyPost();
}
      最后的实现效果如下截图所示:


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


附Volley下载地址:http://pan.baidu.com/s/1dDFDbdJ


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值