آموزش اپراتور یا عملگر From در RxJava ، در این پست ما عملگر From را مورد بررسی قرار می دهیم.
همچنین بخوانید:
اپراتورها یا عملگرهای RxJava
آموزش اپراتور یا عملگر Just در RxJava
مفاهیم Observable و Observer در RxJava
آموزش الگوی MVVM و RxJava به صورت پروژه محور + سورس کد
برخلاف اپراتور Just() ، اپراتور From در RxJava درواقع Observable را از روی یک مجموعه آیتم ایجاد میکند که بصورت Iterable هستند بدین معنی که هر آیتم در یک زمان emit یا منتشر میشوند.
نکته:
نکته قابل توجه درباره اپراتور یا عملگر From این است که از RxJava2 ما دیگر از From استفاده نمیکنیم بلکه از اپراتور های fromCallable() ، fromFuture() ، fromIterable() و fromPublisher() استفاده میکنیم.
به مثال زیر توجه کنید:
Integer[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
Observable.fromArray(numbers)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Integer integer) {
Log.d(TAG, "onNext: " + integer);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
خروجی
onNext: 1
onNext: 2
.
.
onNext: 11
onNext: 12
همچنین بخوانید:
آموزش زمانبندی وظایف با WorkManager در اندروید
ساخت dependency برای کتابخانه اندروید در گیت هاب با jitpack
تفاوت بین اپراتوریا عملگر Just() و عملگر From در RxJava تنها در تعداد دفعات انتشار emit آنهاست و درحالت دیگر هردو یک عمل مشابه انجام میدهند.
اپراتور Just() تنها یک انتشار انجام میدهد. برای مثال just(new Integer[]{1,2,3}) تنها یک انتشار در onNext(Integer[] integers) انجام میدهد، اما اپراتور fromArray() به تعداد n بار انتشار emit انجام میدهد. برای مثال fromArray(new Integer[]{1, 2, 3}) سه انتشار در onNext(Integer integer) انجام میشود.