Volley的使用

   首先要使用Volley,需要先创建一个请求队列,这在里我把请求队列写成全局的,方便以后调用。
先创建类MyApplication,继承Application,然后再MyApplication中实例化一个请求队列,并且获取全局的请求队列方便我们在添加请求时调用。
public class MyApplication extends Application{
    public static RequestQueue queue;

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        //实例化这个请求队列
        queue = Volley.newRequestQueue(getApplicationContext());
    }
    // 获取全局的请求队列,方便我们在添加请求时调用
    public static RequestQueue getHttpQueue(){
        return queue;
    }

}

首先是Volley的get请求方法,首先创建一个请求队列:

private void volleyget() {
        //建立一个请求对立
        //第一个参数为请求方式,第二个为我们请求的URL,第三个为请求的回调,第四个参数为我们请求失败索要回调的方法
        String url = "http://apis.juhe.cn/cnoil/oil_city?e447432dcf407df911152fa90a067543";
        StringRequest request = new StringRequest(Method.GET, url, new Listener<String>() {

            public void onResponse(String arg0) {
                //请求成功服务器返回的内容
                Toast.makeText(MainActivity.this, "数据为:"+arg0, Toast.LENGTH_SHORT).show();
            }
        }, new Response.ErrorListener() {

            public void onErrorResponse(VolleyError arg0) {
                // 请求失败服务器返回的内容
                Toast.makeText(MainActivity.this, "图片上传失败", Toast.LENGTH_SHORT).show();
            }
        });
        //当我们想取消这个请求的时候可以通过这个标签进行取消
        request.setTag("GET");
        //将我们的请求添加到队列中
        MyApplication.getHttpQueue().add(request);
    }

Post请求

private void volleypost() {
        String url= "http://apis.juhe.cn/cnoil/oil_city?";
        StringRequest request = new StringRequest(Method.POST, url, new Listener<String>() {

            public void onResponse(String arg0) {
                // 请求成功的回调方法
                Toast.makeText(MainActivity.this, "数据为:"+arg0, Toast.LENGTH_SHORT).show();
            }
        }, new Response.ErrorListener() {

            public void onErrorResponse(VolleyError arg0) {
                // 请求失败的回调方法
                Toast.makeText(MainActivity.this, "图片上传失败", Toast.LENGTH_SHORT).show();
            }
        }){
            protected java.util.Map<String,String> getParams() throws com.android.volley.AuthFailureError {
                //POST请求所需的参数
                HashMap<String, String> map = new HashMap<String, String>();
                map.put("dtype", "%E5%8C%97%E4%BA%AC&key=e447432dcf407df911152fa90a067543");
                return map;
            }
        };
        request.setTag("POST");
        MyApplication.getHttpQueue().add(request);
    }

请求的销毁,在onStop中取消请求队列

@Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        //获取请求队列,根据TAG取消队列
        MyApplication.getHttpQueue().cancelAll("POST");
        MyApplication.getHttpQueue().cancelAll("GET");
    }
上面的接口应该会有点问题,但是,问题不大,去聚合数据重新找接口吧。
[Demo免积分下载](http://download.csdn.net/detail/xdx1399513637/9458279%20Demo%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80%EF%BC%8C%E5%85%8D%E7%A7%AF%E5%88%86)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值