为什么位图返回onNewResultImplnull?
final ImageView imageView = (ImageView) findViewById (R.id.imageView);
ImageRequest request = ImageRequest.fromUri(pic_uri);
ImagePipeline imagePipeline = Fresco.getImagePipeline();
DataSource dataSource = imagePipeline.fetchEncodedImage(request, this);
CloseableReference<CloseableImage> imageReference = null;
dataSource.subscribe (new BaseBitmapDataSubscriber() {
@Override
protected void onNewResultImpl(Bitmap bitmap) {
LogUtils._d("onNewResultImpl....");
if(bitmap == null) {
LogUtils._d("bitmap is null");
}
imageView.setImageBitmap(bitmap);
}
@Override
protected void onFailureImpl(DataSource dataSource) {
LogUtils._d("onFailureImpl....");
}
}, CallerThreadExecutor.getInstance());
Run Code Online (Sandbox Code Playgroud) 我有网络要求:
userApi.getUserInfoByUid (AuthUtils.getUid (ctx), AuthUtils.getToken (ctx))
.doOnNext (u -> saveToCache (u))
.observeOn (AndroidSchedulers.mainThread ())
.subscribe (u -> {
if (updateListener != null)
updateListener.onUpdate (u);
},e->{
Toast.makeText (ctx,"network error",Toast.LENGTH_SHORT).show ();
});
Run Code Online (Sandbox Code Playgroud)
你知道,许多请求可能有网络错误,所以我提取OnError()方法.如:
abstract class Mysubscrib<T> extends Subscriber<T>{
@Override
public void onCompleted() {
//do nothing
}
@Override
public void onError(Throwable e) {
Toast.makeText (ctx,"network error",Toast.LENGTH_SHORT).show ();
}
}
userApi.getUserInfoByUid (AuthUtils.getUid (ctx), AuthUtils.getToken (ctx))
.doOnNext (u -> saveToCache (u))
.observeOn (AndroidSchedulers.mainThread ())
.subscribe (new Mysubscrib<UserInfo> () {
@Override
public void onNext(UserInfo userInfo) { …Run Code Online (Sandbox Code Playgroud)