آموزش برنامه نویسی اندروید | کار با Event Bus

سلام

امروز میخوام یه کتابخونه ی فوق العاده کاربردی رو بهتون معرفی کنم که خیلی جاها حجم کدنویسی شما رو به شدت پایین میاره.
کتابخونه ی EventBus، یه سیستم حرفه ای برای BroadCast کردن رویدادها به کار میره. شما در هرجای برنامه ( سرویس و … ) میتونید یه اتفاق رو به هرجایی که Subscribe این اتفاق هست ارسال کنید. مثلا توی آموزش خواندن پیامک در اندروید که داشتیم شما میتونید این اتفاق رو خیلی راحت پس زمینه بررسی میکنیم و نتیجه رو میاریم رو UI و متن گرفته شده رو داخل تکست باکس قرار میدیم.

نحوه ی کار با کتابخونه EventBus :

1- نصب با Gradle:

1compile 'org.greenrobot:eventbus:3.1.1'

نصب با Maven:

12345<dependency>
<groupId>org.greenrobot</groupId>
<artifactId>eventbus</artifactId>
<version>3.1.1</version>
</dependency>

2- ساخت مدل از اطلاعات:

ساخت مدل بستگی به خودتون داره اما برای پیامک، من مدل رو به این شکل ساختم:

123456789101112131415public class SmsModel {
    String text;

    public SmsModel(String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}

3- برای سپردن اطلاعات به EventBus:

1EventBus.getDefault().post(new SmsModel(SOME_DATA_STRING));

4- حالا برای اینکه یه تابع رو subscribe این خبر کنیم تو اکتیویتی مورد نظر یه تابع مینویسیم با انوتیشن زیر:

123456@Subscribe
public void onRec(SmsModel model) {
   
    txtCode.setText(model.getPercent());
    
}

5- نکته آخر اینکه توی اکتیویتی مورد نظر حتما این چند خط رو اضافه کنید:

1234567891011@Override
public void () {
    super.();
    EventBus.getDefault().register(this);
}

@Override
public void () {
    super.();
    EventBus.getDefault().unregister(this);
}

تمام شد حالا شما با رخداد خاص تو مرحله 3 میتونید اطلاعات رو به هرجایی که خواستید بفرستید.

امیدوارم براتون مفید باشه

برای دیدن مطالب بیشتر به وب سایت hamyardeveloper.ir مراجعه کنید

نویسنده مطلب: مهرداد امیدی

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.