volley的简单使用

volley

1.导入volley的jar包

2.StringRequest的使用

private void showJson() {
    RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);
//第一步新建RequestQueue请求队列
    StringRequest stringRequest = new StringRequest("http://www.baidu.com", new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.e(TAG, response);
            tv_json.setText(response);

        }
    }, new ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, error.getMessage(),error);

        }
    });
//第二步新建一个stringrequest对象,Bing填写正确的参数
    mQueue.add(stringRequest);
//最后一步将请求对象添加进请求队列中
//需要在mainfest文件中添加请求权限
}

以上代码同时在log和textview中显示了百度主页的HTML代码

接下来实现向http发送post请求

private void showJson() {
    RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);
    StringRequest stringRequest = new StringRequest(Method.POST,
            "http://www.baidu.com", new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.e(TAG, response);
                    tv_json.setText(response);

                }
            }, new ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.e(TAG, error.getMessage(), error);

                }
            }) {
        //在这个位置添加代码
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> map = new HashMap<String, String>();
            map.put("params1", "value1");
            map.put("params2", "value2");
            return map;
        }
    };
    mQueue.add(stringRequest);
}

到这里就可以像服务器提交键值对样式的数据

3.JsonRequest的使用

private void showJson() {
    RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);
    // http://www.weather.com.cn/data/sk/101110101.html
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
            "http://www.weather.com.cn/data/sk/101110101.html", null,
            new Response.Listener<JSONObject>() {
                public void onResponse(JSONObject response) {
                        Log.e(TAG, response.toString());
                        tv_json.setText(response.toString());

                };
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.e(TAG, error.getMessage(),error);

                }
            });
    mQueue.add(jsonObjectRequest);
}

在这里使用jsonobjestrequest返回的数据是json格式的,所以和stringrequest的区别就是返回数据不一样其他都一样

4.ImageView的使用

private void showJson() {
    RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);
//将请求对象换为ImageRequest即可
    ImageRequest ivImageRequest = new ImageRequest(
            "http://image.baidu.com/search/detail?ct=503316480&z=0&tn=baiduimagedetail&ipn=d&cl=2&cm=1&sc=0&lm=-1&ie=gbk&pn=0&rn=1&di=113961739210&ln=30&word=%CD%BC%C6%AC&os=665726132,356480541&cs=4236942158,2307642402&objurl=http%3A%2F%2Fpic32.nipic.com%2F20130829%2F12906030_124355855000_2.png&bdtype=0&simid=3444347259,284796380&fr=ala&ala=1&alatpl=others&pos=1",
            new Listener<Bitmap>() {
                @Override
                public void onResponse(Bitmap bm) {
                    iv_json.setImageBitmap(bm);

                }
            }, 0, 0, Config.RGB_565, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError arg0) {
                    Log.e(TAG, "加载失败");
                }
            });
    mQueue.add(ivImageRequest);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值