آموزش RxAndroid در اندروید

سلام توسعه دهندگان عزیز در این سری از آموزش برنامه نویسی اندروید به آموزش RxAndroid در اندروید می پردازیم قبلا RxJava را توضیح داده بودیم در این آموزش نحوه کار با RxAndroid در برنامه نویسی اندروید می پردازیم همانطور که گفته بودیم Rx از سه بخش تشکیل می شود در ادامه یک توضیح ساده میدهیم سپس نحوه استفاده از RxAndroid را به صورت عملی یاد میدهیم.
 

RxJava چیست ؟

قبلا یک نمونه مثال از RxJava قرار داده بودیم در این آموزش به RxJava و RxAndroid می پردازیم.

RX = OBSERVABLE + OBSERVER + SCHEDULERS

 
ابتدا وارد فایل Gradle شوید و کتاب خانه های زیر را اضافه کنید باید در فایل Module آن ها را اضافه کنید.

RxJava با RxAndroid تفاوت زیادی ندارد ولی RxJava زودتر آپدیت می شود ما در بالا هردوی آنها را اضافه کردیم.
Observable : منتشر کننده داده هستند یا داده را Stream می کنند.
Observers : مصرف کننده داده های Stream شده توسط Observable هستند.
SCHEDULERS : زمان بندی دست این بخش است.
RxJava از سه بخش تشکیل می شود همانطور که گفتم با RxAndroid تفانت ندارد پس RxJava برابر با RxAndroid است ☺

  • onNext : زمانی که داده جدید منتشر می شود وارد این متد می شود.
  • onError : زمانی که خطایی رخ دهد وارد این متد می شود.
  • onComplete : زمانی که عملیات به پایان برسد وارد این متد می شود مثلا Process داده ها به درستی انجام شده است.

یک نمونه کد ساده

به جای اینکه از کد بالا استفاده کنیم می توان یک کد که شبیه به آن است استفاده کنیم یعنی شاید بخواهیم از OnNext و OnCompleted همزمان استفاده کنیم می توانید از کد زیر استفاده کنید.

در بالا OnCall برابر با OnNext است.
اگر بخواهیم با Thread ها کار کنیم می توانیم از Subscriber ها استفاده کنیم یکیش subscribeOn و دومی observeOn است.
یک نمونه کد ساده برایبتان قرار می دهیم.

در بالا ابتدا یک Observable تعریف کردیم که کارش اینکه یکسری داده رو فیلتر بکنه به این شکل که اگر عدد فرد بود مقدار true برگردد بعد از این کار باید یک Observer درست کنیم تا کار رو انجام دهد (مثلا متوجه بشیم کار انجام شده به خطا خورده و… همان متدهای onNext , onError وonCompleted ) بعد از اینکار باید این دو بخش را با هم ترکیب کنیم برای اینکار از Subscription استفاده می کنیم.
 
این آموزش هم به پایان رسید.
موفق و پیروز باشید.

مطالعه بیشتر