EventBus 简单使用

   这个就是类似接收发送广播的东西  集成使用起来比较简单一点:


下面是一个简单使用的例子:

我们先写一个Java类 继承bus 

public class EventBus extends Bus{
    private static EventBus bus;

    public static EventBus getInstance() {
        if (bus == null) {
            bus = new EventBus();
        }
        return bus;
    }
}


在定义一个EventData类 用来保存传递信息  这里只写了一个int 类型的  你也可以写入Obj 看你需要什么就写入什么吧


public class EventData {
    private int i = 100;
    public EventData(int i) {
        this.i = i;
    }

    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }
}

上面两步走完 下面的就更简单了  一步完成你要传入的信息 下面的这个构造函数 你可以传入任何类型!!!

这个是发送广播!!!  发送就是这么简单

  EventBus.getInstance().post(new EventData(123));


然后我们在需要接收广播的地方先 注册一下


  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EventBus.getInstance().register(this);
    }


在界面跪掉时  也要注销哦


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

好了  下面进入接收广播环节
看我的方法名 自己领会吧   


 @Subscribe
    public void xxxx(EventData eventData){
        switch (eventData.getI()){
            case 1:
                break;
            default:
                break;
        }
    }

到这里 已经简单实用了 EventBus!!!





你可能感兴趣的:(android)