安卓学习日记——Volley
- Volley简介
Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClient的用法还是有些复杂,Android开发团队也是意识到了有必要将HTTP的通信操作再进行简单化,于是在2013年Google I/O大会上推出了一个新的网络通信框架——Volley。
Volley除了简单易用之外,在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。
发送一个字符串的请求
public void sendStringRequestClick(View v){
String url="http://www.4399.com";
//创建一个字符串请求(请求方式,URL,响应的回调接口,错误的回调接口)
StringRequest request=new StringRequest(Request.Method.GET,
url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
System.out.println(s);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println(volleyError);
}
});
queue.add(request);
}
还要导入一个Volley.jar
效果图
发送一个ImageRequest
public void sendImageRequestClick(View v){
String url="https://img03.sogoucdn.com/app/a/100520093/12400ee0679b6e1e-d3e639ff657519ea-a9d4d43a8f00e80cfae6b8f74af91564.jpg";
ImageRequest request=new ImageRequest(url, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
imageView.setImageBitmap(bitmap);
}
}, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println(volleyError);
}
});
queue.add(request);
}
Volley工作流程