آموزش Rxjava در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Rxjava در برنامه نویسی اندروید می پردازیم در مطالب قبلی Rxjava را به طور کامل تشریح کردیم در امروز نحوه استفاده از Rxjava را یاد خواهید گرفت از Rxjava یا reqctive extensions به منظور حل سریع مشکللات و سادگی در خواندن در برنامه نویسی کمک می کند در ادامه با ما همراه باشید.
ابتدا مقاله زیر را مطالعه کنید سپس این مطلب را ادامه دهید. (بخش Observables  و Subscribers   در این بخش توضیح داده نمی شود حتما مطلب را مطالعه کنید)

Rxjava چیست ؟

اگر بخوام باهاتون صادق باشیم اول که  Rxjava را می بینید فکر می کنید خیلی سخت و غیر قابل درک است اما بعد از کمی کار کردن متوجه می شوید حتی از متودهای داخلی اندروید نیز راحت تر است و البته از ویژگی های آن حجم کمتر سرعت اجرای بالاتر را می توان نام برد.
ابتدا باید آن را به پروژه اندرویدی خود اضافه کنید برای اینکار وارد فایل Build.gradle از نوع Module شده سپس در بخش dependencies خط زیر را اضافه کنید.

پروژه را sync کنید.
ابتدا به یک مثال ساده HelloWorld می پردازیم.

در بالا فقط اومیدم یک مقدار را در output چاپ کردیم.
یک مثال ساده تر

در بالا ما یک ثاتیه صبر می کنیم سپس مقدار done برای ما return می شود.
خب حالا برای اینکه آن را اجرا کنیم می توانیم از دو نوع کد استفاده کنیم .
راه حل اول برای اینکه یک کاری را در background انجام بدیم باید از کد زیر استفاده کنیم مثلا می خوایم کار بالا در background اجرابشه

حالا اگر بخوایم یک کاری در foreground یا پیش زمینه یا Gui یا Ui را تغییر دهیم می توانیم از کد زیر استفاده کنیم.

پس subscribeOn برای انجام یک کار در background مورد استفاده قرار می گیرد و observeOn در foreground
برویم سراغ یک مثال کاربردی یک Subscriber همانند زیر ایجاد کنید.

ما یک Subscriber شامل سه متود ساختیم همانند بالا  حالا می خوایم در یک Observable از آن استفاده کنیم کد زیر را مشاهده کنید.

در بالا آمدیم از متودهایی که در Subscriber ساخته بودیم استفاده کردیم (از onNrext و onCompleted)
و در آخر مثل زیر آن را execute می کنیم.

و در نهایت خروجی ما همانند زیر می شود.

اگر بخواهیم مستقیم از Observable  استفاده کنیم می توانیم مثل زیر عمل کنیم.

از just استفاده کردیم سپس یک Subscriber در آن new کردیم.
حالا شاید بپرسید کجا operation یا عملیات را انجام دهیم rxjava فکر آن را نیز کرده است.

در بالا با استفاده از filter میگیم مثلا یک operation را بروی اعداد ورودی برایمان انجام دهد. در اینجا مقدار true برای اعداد فرد برمی گردد و برای اعداد زوج مقدار false برمیگردد.
 
Rxjava بسیار وسیع است سعی می شود در بخش های متفاوت کاربردهای دیگر آن را نیز قرار دهیم.
 
موفق باشید.

مطالعه بیشتر