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

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش EventBus در اندروید می پردازیم در آموزش قبلی EventBus را معرفی کردیم و در این آموزش نحوه استفاده از Eventbus را در برنامه نویسی اندروید یاد خواهید گرفت همانطور که در آموزش قبلی گفتیم که EventBus به منظور ایجاد یک نوع یکپارچگی در برنامه های که از تعداد زیادی اکتیویتی یا فرگمت یا حتی مقدار کد زیاد استفاده کرده باشیم در ادامه با ما همراه باشید.
 
خروجی برنامه که در آخر خواهید دید همانند زیر است.
 

 
در صورتی که با Eventbus آشنا نیستید می توانید از لینک زیر آن را مورد بررسی قرار دهید.

EventBus در اندروید چیست ؟

خب EventBus یک کتاب خانه است و باید همانند دیگر کتاب خانه ها به پروژه اضافه شود.
وارد فایل Build.gradle از نوع Module شده سپس در بخش dependencies خط زیر را اضافه کنید.

پروژه را sync کنید باید قند شکن فعال باشد.
یک فایل به نام dimens.xml ایجاد کنید در مسیر res/values ایجاد کنید و کدهای زیر را در آن قرار دهید.

در بالا فاصله هایی را که در برنامه استفاده می شود را قرار دادیم.
وارد strings.xml شده و کدهای زیر را در آن قرار دهید.

در بالا یکسری داده ها و رشته های از پیش آماده شده را ایجاد کردیم و در برنامه از آنها استفاده خواهد شد.
یک کلاس به نام Events ایجاد می کنیم از این کلاس به منظور نمایش پیام استفاده خواهد شد.

در بالا در شکل های مختلف را پیام را نمایش میدهیم به همین منظور از کلاس های متفاوتی درون کلاس بالا ایجاد کردیم.
حالا باید یک کلاس Global به منظور register کردن EvenBus ایجاد کنیم یک کلاس به نام GlobalBus ایجاد می کنیم و کدهای زیر را در آن قرار میدهیم.

در بالا یک Instance از EventBus ساختیم که در ادامه ازش استفاده کنیم.
تا اینجا برای ارتباط بین اکتیویتی و فرگمنت های بخش ساده ای را فراهم کرده ایم در ادامه برخی از متد های EventBus را توضیح خواهیم داد.
Register : به منظور ثبت یک رویداد مورد استفاده قرار می گیرد و مثل زیر کاربرد دارد.

Un-Register : به منظور برداشتن یک EventBus ثبت نام شده استفاده می شود و مثل زیر کاربرد دارد.

Broadcast an event : به منظور صدا زدن یک متد یا دستور در یک کلاس یا اکتیویتی یا فرگمنت و مثل زیر کاربرد دارد.

Receive an event : به منظور دریافت یک رویداد استفاده می شود و مثال آن همانند زیر می باشد.

در ادامه به یک مثال ساده که در ابتدای آموزش مشاهده کردید می پردازیم.
ابتدا یک فرگمنت برای این منظور درست می کنیم نام فرگمنت برابر با fragment_user.xml است.
این layout را ایجاد کنید و کدهای زیر را در آن قرار دهید.

در بالا یکسری input و دکمه برای ارسال داده قرار دادیم.
برای اینکه این کدها را به فرگمنت متصل کنیم باید یک فرگمنت به نام  UserFragment.java ایجاد کنید و کدهای زیر را در آن قرار دهید.

در بالا یک Eventbus را register کردیم و در ادامه هر زمانی که یک رویداد به نام getmessage را صدا بزنیم داده را می توانیم نمایش دهیم همانطور که می بینید یک Toast قرار دادیم.
خب یک اکتیویتی به نام MainActivity.java ایجاد کنید و کدهای زیر را در آن قرار دهید.

در بالا هم دو تا متد داریم یکی برای اینکه پیام ارسال شود و دیگری به منظور دریافت پیام استفاده می شود.
و در نهایت activity_main.xml همانند زیر خواهد بود.

 
 
این آموزش به پایان رسید.
موفق باشید..

مطالعه بیشتر