Volley是由Google开发和维护的开源库,提供了对String,图片,JSON的解析
下面简单来说一下用法
一、首先需要导入Volley依赖包
implementation 'com.android.volley:volley:1.1.1'
二、添加网络访问的权限
在AndroidManifest.xml中
<uses-permission android:name="android.permission.INTERNET"/>
三、获取网络中的String资源
获取了百度首页的html的string形式
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
String url = "https://www.baidu.com";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
Toast.makeText(getApplicationContext(), "Response is:" + s.substring(0, 50),Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(getApplicationContext(),"That didn't work!",Toast.LENGTH_LONG).show();
}
});
// 将request添加到RequestQueue中
queue.add(stringRequest);
四、获取网络中的图片资源
ImageRequest方式
//1.获取RequestQueue对象
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
String url = "https://p1.meituan.net/wedding/b3ac1144131dc0cc0258e7557f4e99b3200722.jpg%40800w_600h_0e_1l%7Cwatermark%3D1%26%26r%3D1%26p%3D9%26x%3D2%26y%3D2%26relative%3D1%26o%3D20";
//2.获取ImageRequest
//7个参数,url,response监听,最大宽度,最大高度,图片显示方式,图片质量,response错误监听
ImageRequest imageRequest = new ImageRequest(url, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
image.setImageBitmap(response);
}
}, 500, 500, ImageView.ScaleType.CENTER, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("hughzhao","erro");
}
});
queue.add(imageRequest);
ImageLoader的方式
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
String url = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3647170051,871438825&fm=26&gp=0.jpg";
//1.实例化imageLoader
ImageLoader loader = new ImageLoader(queue,new BitmapCache());
//2.设置监听器
//ImageView实例,默认资源id,错误资源id
ImageLoader.ImageListener listener = ImageLoader.getImageList