我今天潜入RxJava。需要帮助将AsyncTask转换为RxJava
我有一个AsyncTask将图像转换为位图并将其设置为Imageview。
我想是我的AsyncTask转换为RxJava
这是我下面的工作的AsyncTask:
String imageurl = "http://example.com/image.jpg";
new AsyncTask<String, Void, Void>() {
Bitmap theBitmap = null;
@Override
protected Void doInBackground(String... params) {
String TAG = "Message: ";
try {
theBitmap = Glide.
with(mContext).
load(mValues.get(params[0]).
asBitmap().
into(-1, -1).
get();
} catch (final ExecutionException e) {
Log.e(TAG, e.getMessage());
} catch (final InterruptedException e) {
Log.e(TAG, e.getMessage());
} catch (final NullPointerException e) {
Log.e(TAG, e.getMessage());
}
return null;
}
@Override
protected void onPostExecute(Void dummy) {
if (null != theBitmap) {
ImageView mImageView = (ImageView) findViewById(R.id.image);
mImageView.setImageBitmap(theBitmap);
}
}
}.execute(imageurl);
我知道我想提供我已经试过代码,但我想有问题把我的头围绕RxJava。我只是需要一些开始。
我看到这个示例代码,使用只要它将整数传递给onNext()函数。 http://reactivex.io/documentation/operators/just.html
Observable.just(1, 2, 3)
.subscribe(new Subscriber<Integer>() {
@Override
public void onNext(Integer item) {
System.out.println("Next: " + item);
}
@Override
public void onError(Throwable error) {
System.err.println("Error: " + error.getMessage());
}
@Override
public void onCompleted() {
System.out.println("Sequence complete.");
}
});
请,我怎么可以把这段代码转换,所以我可以用它喜欢的AsyncTask
您需要在文档中进一步介绍如何创建可观察性的部分 – njzk2