在Android中使用glide和Rxjava从URL与其他Api调用并行获取位图

问题描述

我正在通过以下方式并行进行两个API调用。

Single.zip(API1.subscribeOn(Schedulers.io()),API2.subscribeOn(Schedulers.io()),Bifunction())).subscribe();

我想从URL加载位图并将其发送回去。像这样

Single.zip(API1.subscribeOn(Schedulers.io()),getImageBitmap(),Function3())).subscribe();

在方法getImageBitmap中,我试图返回Single<Bitmap>。像这样的东西。

Single.create(new SingleOnSubscribe<Bitmap>() {
            @Override
            public void subscribe(final SingleEmitter<Bitmap> emitter) throws Exception {
                Glide.with(context).asBitmap().load(url)
                        .diskCacheStrategy(DiskCacheStrategy.NONE)
                        .error(R.drawable.ic_login_error).addListener(new RequestListener<Bitmap>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e,Object model,Target<Bitmap> target,boolean isFirstResource) {
                        emitter.onSuccess(null);
                        return false;
                    }

                    @Override
                    public boolean onResourceReady(Bitmap resource,DataSource dataSource,boolean isFirstResource) {
                        emitter.onSuccess(resource);
                        return false;
                    }
                });
            }
        }).subscribeOn(AndroidSchedulers.mainThread());

我没有得到任何结果。如何通过以下方法从Glide获取位图?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)