依赖:
implementation 'com.android.volley:volley:1.1.1'
第一件事:定义一个RequestQueue。在实际开发中,这个对象应该写为一个
RequestQueue queue= Volley.newRequestQueue(this);
第二件事:定义一个Request
参数:请求类型(获取/上传)。网址/url。成功访问时的监听器。失败访问时的监听器。
StringRequest stringRequest = new StringRequest(int method, Listener<String> listener,@Nullable ErrorListener errorlListener)。
在网络访问时,记得添加网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
加载文本
访问网站,用TextView将网站的html显示出来
RequestQueue queue= Volley.newRequestQueue(this);
String url="https://www.jd.com";
StringRequest stringRequest = new StringRequest(
StringRequest.Method.GET,
url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
textView.setText(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "onErrorResponse: ", error);
}
}
);
queue.add(stringRequest);
加载图片
使用Volley函数加载图片:
RequestQueue queue=Volley.newRequestQueue(this);
String url="https://pixabay.com/get/55e0d340485aa814f1dc846096293e7c143cd9e6554c704f75297bd5964cc250_640.jpg";
//磁盘上的缓存
ImageLoader imageLoader=new ImageLoader(queue, new ImageLoader.ImageCache() {
private LruCache<String,Bitmap> cache=new LruCache<>(50);
@Override
public Bitmap getBitmap(String url) {
return cache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
cache.put(url,bitmap);
}
});
imageLoader.get(url, new ImageLoader.ImageListener() {
@Override
public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
imageView.setImageBitmap(response.getBitmap());
}
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "onErrorResponse: "+"Error");
}
});
上面用的是ImageView,如果换成Volley自带的com.android.volley.toolbox.NetworkImageView会可以将上面的get方法换成下面更加简便的方法:
imageView.setImageUrl(url,imageLoader);
Gild加载图片
添加依赖
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
String url="https://pixabay.com/get/55e0d340485aa814f1dc846096293e7c143cd9e6554c704f75297bd5964cc250_640.jpg";
Glide.with(this)
.load(url)
.placeholder(R.drawable.ic_launcher_background)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(imageView);
版权声明:本文为qq_43616001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。