美文网首页
Otto快速使用

Otto快速使用

作者: 黄晓果 | 来源:发表于2017-12-13 12:16 被阅读0次

引入 otto

 compile 'com.squareup:otto:1.3.8'

1、创建AppBus单例,提高效率

package tsou.cn.ottotest;

import com.squareup.otto.Bus;

/**
 * Created by 黄家三少 on 2017/12/12.
 */

public class AppBus extends Bus {

    private static AppBus bus;

    private AppBus() {
    }

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

2、创建数据类(因为otto没有EventBus的tag标记功能)

package tsou.cn.ottotest.ottobean;

/**
 * Created by Administrator on 2017/12/13 0013.
 */

public class PlusOneText {
    public PlusOneText(String name) {
        this.name = name;
    }

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3、在数据接收页面—订阅,取消订阅,接收数据

  AppBus.getInstance().register(this);
  AppBus.getInstance().unregister(this);
    @Subscribe
    public void showToast(OttoBean ottoBean) {
        Toast.makeText(getContext(), ottoBean.getName() + ",===" + ottoBean.getAge(), Toast.LENGTH_LONG).show();
//        mText.setText(ottoBean.getName());
    }

    @Subscribe
    public void setContext(PlusOneText plusOneText) {
        mText.setText(plusOneText.getName());
    }

4、在数据传送的地方—发送数据


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button_one:
                OttoBean ottoBean = new OttoBean();
                ottoBean.setName("黄晓果");
                ottoBean.setAge(25);
                AppBus.getInstance().post(ottoBean);
                finish();
                break;
            case R.id.button_two:
                AppBus.getInstance().post(new PlusOneText("huangxiaoguo"));
                finish();
                break;
        }
    }

相关文章

  • Otto快速使用

    引入 otto 1、创建AppBus单例,提高效率 2、创建数据类(因为otto没有EventBus的tag标记功...

  • Otto的使用

    Otto是一个用来进行组件之间通信的框架 GitHub地址使用方式 Otto主要概念就是发布事件和接收事件,如果要...

  • Otto的简单使用

    第一次写简书,只为了把平时用到的知识记录保存下来,同时也希望能对又需要的学者有帮助。 今天刚好用了大名鼎鼎的Ott...

  • Otto源码分析

    Otto是Square公司推出的事件总线库,目的是当你应用里的不同部分需要进行通讯时进行解耦。 使用方法 Otto...

  • [Android组件解读] 被square公司抛弃的Otto框架

    最近讲的都是square出品的组件,今天还是继续讲解Square旗下的Otto框架 引用otto官网说的 Otto...

  • otto

    otto是在安卓中组件之间用来通信的库,优点是可以降低多个组件之间的通信的耦合度,也就是解耦.比如说:界面A要跳转...

  • 用RxJava实现事件总线(Event Bus)

    目前大多数开发者使用EventBus或者Otto作为事件总线通信库,对于RxJava使用者来说,RxJava也可以...

  • Android Rxbus 使用(RxJava响应事件处理)

    RxBus : 通过RxJava实现Rxbus。 目前大多数开发者使用EventBus或者Otto作为事件总线通信...

  • Otto框架

    一、Otto介绍 OTTO是Square推出的库,地址:https://github.com/square/ott...

  • 源码分析--AndroidEventBus(1--registe

    Android事件库中使用者最多的应该是EventBus 和 Otto了,而选择AndroidEventBus的原...

网友评论

      本文标题:Otto快速使用

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