Я использую RXJava 2. После некоторой логики в методе subscribe
я хочу удалить используемый файл. Думаю, мне следует сделать это в onComplete
. Но я не могу передать туда свой объект File
. Мой код: Вопросы:
Observer<Bitmap> observer = new Observer<Bitmap>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Bitmap bitmap) {
if(mImageView.getTag().toString().equals(TAG)) {
mImageView.setImageBitmap(bitmap);
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
// outputFile.delete();
}
};
Observable<Bitmap> observable = Observable.create(new ObservableOnSubscribe<Bitmap>() {
@Override
public void subscribe(ObservableEmitter<Bitmap> e) throws Exception {
File outputFile = new File(newTAG);
// do some stuff with a file
Bitmap bitmap = decodeSampledBitmapFromUrl(newTAG, width, height);
e.onNext(bitmap);
// now I need to delete a file
e.onComplete();
}
}
);
observable.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).subscribe(observer);
- Как передать
outputFile
вonComplete
? - Есть ли способ создать наблюдаемое и подписаться на него в одном событии или в меньшем количестве кода?