直播电商源码使用Glide加载图片,load完后,通过into就可以把图片放到ImageView里面。但是有时候直播电商源码可能只是想加载一张原始的图片资源File,至于如何放到,什么时候放,开发者想自己控制,那么可以使用Glide提供的RequestManager中onResourceReady。
RequestManager的onResourceReady提供一个回调接口,在这里可以拿到通过Glide加载到的图片资源原始文件,通过给RequestManager注册一个RequestListener加载监听器,就可以拿到Glide加载的图片,然后进一步做什么样的处理,开发者可以自行决定。此时,Glide就演变成一个类似OkHttp一样的网络加载框架,只用来加载资源而已,例如:
package zhangphil.test;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.RequestBuilder;
import com.bumptech.glide.RequestManager;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import java.io.File;
import java.io.FileInputStream;
public class GlideActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_glide);
String url = "https://avatar.csdn.net/9/7/A/3_zhangphil.jpg";
ImageView image = findViewById(R.id.image);
RequestManager mRequestManager = Glide.with(this);
RequestBuilder<File> mRequestBuilder = mRequestManager.downloadOnly();
mRequestBuilder.load(url);
mRequestBuilder.listener(new RequestListener<File>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<File> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(File resource, Object model, Target<File> target, DataSource dataSource, boolean isFirstResource) {
try {
FileInputStream fis = new FileInputStream(resource);
Bitmap bmp = BitmapFactory.decodeStream(fis);
image.setImageBitmap(bmp);
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
});
mRequestBuilder.preload();
}
}
直播电商源码记得添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
在onResourceReady中拿到的
File resource
即是通过Glide加载出来的直播电商源码原始图片资源。
声明:本文由云豹科技转发自开开心心过博客,如有侵权请联系作者删除