EventBus学习

简介:

Git位置https://github.com/greenrobot/EventBus

使用起来很方便:
1. Implement any number of event handling methods in the      subscriber:
     public void      onEvent(AnyEventType event) {} 
2. Register subscribers:
     eventBus.register(this); 
3. Post events to the bus:
     eventBus.post(event); 
4. Unregister subscriber:
     eventBus.unregister(this);

5. public void onEventMainThread(EventType event)方法

两个Activity直接的使用

在第一个Activity的Code如下:

复制代码
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        EventBus.getDefault().register(this);
        textView = (TextView)findViewById(R.id.textView);
        Button btn_try = (Button)findViewById(R.id.btn_try);
        btn_try.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(),
                        SecondActivity.class);
                startActivity(intent);
            }
        });
    }

    @Subscribe
    public  void onEventMainThread(EventType event){
        textView.setText(event.getMessage());
        Toast.makeText(this,event.getMessage(),Toast.LENGTH_LONG).show();
    }
复制代码

OnDestory方法

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

在第二个Activity中使用

复制代码
 Button btn_first_event = (Button)findViewById(R.id.btn_first_event);
        btn_first_event.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EventBus.getDefault().post(new EventType("FistEvent btn cliced"));
            }
        });
复制代码

 

具体实现可参考。

1、《EventBus使用详解(一)——初步使用EventBus》

2、《EventBus使用详解(二)——EventBus使用进阶》

其它参考:

《Android解耦库EventBus的使用和源码分析》:http://blog.csdn.net/yuanzeyao/article/details/38174537

原理很重要哦。

《EventBus的使用初试》:http://blog.csdn.net/pp_hdsny/article/details/14523561

《EventBusExplained  》:https://code.google.com/p/guava-libraries/wiki/EventBusExplained

《Google Guava EventBus实例与分析》

 



本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/p/4724670.html,如需转载请自行联系原作者

目录
相关文章
|
存储 运维 安全
HFish 蜜罐安装及使用
HFish 蜜罐安装及使用
3499 0
HFish 蜜罐安装及使用
|
IDE 关系型数据库 开发工具
公认超级好用的Mac软件汇总(一)
公认超级好用的Mac软件汇总
469 0
|
SQL 存储 数据采集
如何把问卷录入SQL数据库
将问卷数据录入SQL数据库是一个涉及数据收集、处理和存储的过程
|
网络协议
win7/win10内外网切换脚本
当电脑需要内外网切换使用的时候,需要一次次设置静态IP或者自动获取IP,实在麻烦
702 0
|
存储 弹性计算 固态存储
阿里云服务器是如何收费的?阿里云服务器各收费项目收费标准参考
阿里云服务器收费标准包括实例价格、预留实例券价格、专有宿主机、块存储价格、存储容量单位包、带宽价格、快照服务价格等,云服务器价格主要由云服务器配置费用+磁盘价格+网络宽带价格,配置指的是云服务器的实例规格和cpu与内存配置,本文为大家分享一下2023年阿里云服务器所有收费项目的最新收费标准,以表格形式展示给大家,以供参考。
阿里云服务器是如何收费的?阿里云服务器各收费项目收费标准参考
|
弹性计算
阿里云服务器带宽收费价格表(固定带宽和使用流量计费)
2023阿里云服务器带宽收费价格表(固定带宽和使用流量计费),阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算?按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费,如果带宽实际利用率较高的话,按固定带宽计费更划算一些。云服务器吧来详细说下阿里云服务器带宽不同计费模式下收费价格、费用计算方法及如何选择更合适说明:
418 0
阿里云服务器带宽收费价格表(固定带宽和使用流量计费)
|
存储 UED
无影云桌面使用感受
无影云桌面使用感受,我是使用过程中一点体会和想法
3458 3
无影云桌面使用感受
|
芯片
立创EDA极速入门(2)——完成一个STM32最小系统板
立创EDA极速入门(2)——完成一个STM32最小系统板
4543 0