Volley网络框架的简单使用

引入

compile 'com.mcxiaoke.volley:library:1.0.19'

发送请求
发送一个请求 大致流程为
获得请求队列->实现应答和错误监听->实例化请求对象->将请求对象添加到请求队列
请求队列 一个就够了
应答和错误监听的泛型 是根据请求对象的类型而定的
将请求对象添加到请求队列中 意味着发送请求

//获得请求队列
request = Volley.newRequestQueue(this);
//应答监听
Response.Listener<String> response = new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        Log.e("onResponse", response);
    }
};
//错误监听
Response.ErrorListener error = new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.e("onErrorResponse", error.getMessage(), error);
    }
};
//字符串请求 返回结果为String类型数据
StringRequest stringRequest = new StringRequest(
        Request.Method.POST //请求模式 默认为GET
        , "https://m.baidu.com/?from=844b&vit=fps"//请求地址
        , response//应答监听 当接收到服务器应答后 回调此监听中的onResponse方法
        , error);//错误监听 当请求失败时 回调此监听中的onErrorResponse 方法
//将请求对象添加到请求队列中request.add(stringRequest);

想要在post请求中添加参数 需要重写getParams()方法

StringRequest sr = new StringRequest(
        "URL"
        ,response
        ,error){
    //重写getParams 在此方法中返回 请求参数
    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        Map<String, String> map = new HashMap<>();
        map.put("id","1");//参数名 和 参数值
        map.put("name","12");//参数名 和 参数值
        return map;
    }
};

Volley中有三种 请求类型 上面是String类型 还有 Json 和 ImageJson

 JsonObjectRequest jsonRequest = new JsonObjectRequest(
            "http://m.weather.com.cn/data/101010100.html" //请求地址
            , null //请求的json参数  将参数以json字符串的形式传递 如服务器不接收这样的参数 将导致参数不正确
            , jsonResponse//应答监听 当接收到服务器应答后 回调此监听中的onResponse方法
            , jsonError);//错误监听 当请求失败时 回调此监听中的onErrorResponse 方法

Image

ImageRequest imageRequest = new ImageRequest(
        "http://img4.imgtn.bdimg.com/it/u=1308575535,1597760809&fm=23&gp=0.jpg"//请求地址
        , imageResponse//应答监听 当接收到服务器应答后 回调此监听中的onResponse方法
        , 100//图片宽度
        , 100//图片高度
        , ImageView.ScaleType.CENTER_CROP//图片缩放类型
        , Bitmap.Config.RGB_565//图片色彩模式
        , imageError);//错误监听 当请求失败时 回调此监听中的onErrorResponse 方法

猜你喜欢

转载自blog.csdn.net/qq_36437339/article/details/80860659
今日推荐