Android EventBus Kullanımı

Merhaba arkadaşlar bu yazımda Android’de en faydalı kütüphanelerden biri olan EventBus’ı anlatacağım. EventBus Android uygulamamızdaki Activities, Fragments vs. arasındaki veri iletişimini kolaylaştıran ve daha az kod ile ihtiyaçlarımızı giderebildiğimiz bir kütüphanedir.

EventBus Publisher/Subscribe (Yayınlamak/Abone Olmak) prensibine göre çalışıyor diyebiliriz.

Bir Activityden diğer Activity kolaylıkla veri transferi yapabiliriz. Örneğin ListView olan bir Activity açtıralım bu ListView’den seçmiş olduğumuz satırdaki bir değeri bir önceki veya farklı bir Activiyde kullanabiliriz.

Bu kütüphaneyi kullanabilmek için Android Studio’da gradle’a ekleyerek başlıyoruz

implementation 'org.greenrobot:eventbus:3.1.1'

Taşıyacağımız veriye göre Eventimizi oluşturuyoruz.

public class MessageEvent {

    public String data;

    public MessageEvent(String data) {
        this.data = data;
    }

    public String getData() {
        return data;
    }
}

Bu veriyi yayınlamak istediğimiz yere ekliyoruz.

EventBus.getDefault().post(new MessageEvent("deneme"));
EventBus.getDefault().postSticky(new MessageEvent("deneme")); //cache' te tutmak istediğimiz veriler için

Bu veriyi dinlemek istediğimiz yerde şu şekilde ekleme yaptıktan sonra veri taşımasını gerçekleştirebiliyoruz.

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

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

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
    public void onEvent(MessageEvent event) {
        /* GelenVeri */
    }

Daha detaylı bilgi için kütüphanenin dökümanını inceleyebilirsiniz. https://greenrobot.org/eventbus/documentation/how-to-get-started/

Yorum Gönderin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir