美文网首页
2018-07-31EventBus简单使用

2018-07-31EventBus简单使用

作者: 猫KK | 来源:发表于2018-07-31 16:16 被阅读0次

EventBus 是Android 两个组件间通信的框架

简单使用

建立依赖,可以去github上找最新版本,我这里是用3.3.1版本

compile 'org.greenrobot:eventbus:3.1.1'

新建一个消息类,用来存放需要发送的消息数据

//名字可以随便取
public class TestEventBean {
    private String message;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

在需要接受消息的类中注册和解注册,我这是在Activity 中,所以在onCreate和onDestroy中

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //注册
        EventBus.getDefault().register(this);
    }

@Override
    protected void onDestroy() {
        super.onDestroy();
        //解注册
        EventBus.getDefault().unregister(this);
    }

在改类中新建一个方法,用来接受消息的回调

    /**
    *方法的名字可以随便起,注意要加上Subscribe 注解
    *方法的参数传前面新建的消息类
    */
    @Subscribe()
    public void received(TestEventBean testEventBean) {
        //接受到消息后回调方法,获取发送消息内容
        Log.e("TAG", "received: ------->" + testEventBean.getMessage());
    }

在需要发送的消息的类中,我这里是在第二个Activity 中点击发送消息

public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Button button = findViewById(R.id.bt_send);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TestEventBean testEventBean = new TestEventBean();
                testEventBean.setMessage("测试组件通信");
                //在需要发送消息的地方掉用该方法
                EventBus.getDefault().post(testEventBean);
            }
        });
    }
}

最后在有注解的方法中就能获取到发送的内容

结语

谢谢大家阅读,如有不足请指出,方便我改进

相关文章

  • 2018-07-31EventBus简单使用

    EventBus 是Android 两个组件间通信的框架 简单使用 建立依赖,可以去github上找最新版本,我这...

  • 简单使用

    创建模型 过滤器 我们有一些字段和我们想让用户筛选的基础上 名称、价格或release_date。 我们创建一个 ...

  • gorange

    数组中简单使用 map中简单使用

  • 简单使用使用kaggle

    向我这样的条件不好的可以考虑借助云gpu来加速训练,借助kaggle可以在kaggle服务器上训练数据,kaggl...

  • 零碎的小程序笔记

    目录 template的简单使用WXS的简单使用npm的简单使用倒计时js的实现wx:for的使用一些js方法记录...

  • 命令行的简单使用

    Git命令行的简单使用,仅供自己使用 pod命令行的简单使用

  • 单元测试和OCMock

    OCMock使用一、安装及简单使用:使用Cocoapod引入:pod 'OCMock' 简单使用:新建一个单元测试...

  • Alamofire类似AFNetworking的简单使用和封装

    简单的使用。简单的使用。简单的使用。注定该文弱鸡一个,求拍砖。 一、介绍 Alamofire(Swift)的前身是...

  • Android ViewPager 使用总结

    ViewPager 简单使用 ViewPager + PagerAdapter简单的 View 可以使用这个实现,...

  • vuex简单简单使用记录

    1、Vuex有啥用(非官方解释)举例,组件a b 使用了同一个数据源count,当操作a的时候count++,同时...

网友评论

      本文标题:2018-07-31EventBus简单使用

      本文链接:https://www.haomeiwen.com/subject/cfjhvftx.html