Obtenha bitmap de url com outras chamadas Api paralelamente usando glide e Rxjava no Android
Sep 29 2020
Estou fazendo duas chamadas de API paralelas da seguinte maneira.
Single.zip(API1.subscribeOn(Schedulers.io()),
API2.subscribeOn(Schedulers.io()), Bifunction())).subscribe();
Gostaria de carregar um bitmap de um URL e enviar de volta o bitmap. Algo assim
Single.zip(API1.subscribeOn(Schedulers.io()),
API2.subscribeOn(Schedulers.io()), getImageBitmap(), Function3())).subscribe();
No método getImageBitmap, estou tentando retornar Single<Bitmap>. Algo assim.
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, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
emitter.onSuccess(resource);
return false;
}
});
}
}).subscribeOn(AndroidSchedulers.mainThread());
Eu não estou obtendo nenhum resultado com isso. Como obter bitmap do Glide na abordagem a seguir?
Respostas
abhishekmaharajpet Sep 29 2020 at 13:24
Ao carregar a imagem do Glide, devemos chamar o .submit()método ou .into(...)para obter o bitmap ou carregar a imagem com sucesso.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino