Android事件总线分发库的使用
来源:互联网 发布:破解路由器密码软件 编辑:程序博客网 时间:2024/05/05 16:36
一 事件总线分发库EventBus和Otto的简介及对比
1.什么是事件总线管理:
- 将事件放到队列里,用于管理和分发
- 保证应用的各个部分之间高效的通信及数据、事件分发
- 模块间解耦
二 Event Bus的基本用法
1.订阅、注册、发布、取消注册。
注册:
EventBus.getDefault().register(this);
EventBus.getDefault().register(new MyClass());
//注册:三个参数分别是,消息订阅者(接收者),接收方法名,事件类
EventBus.getDefault().register(this,"setTextA",SetTextAEvent.class);
取消注册:
EventBus.getDefault().unregister(this);
EventBus.getDefault().unregister(new MyClass());
订阅处理数据:
public void onEventMainThread{}
public void onEvent(AnyEventType event) {}
onEventPostThread、onEventBackgroundThread、onEventAsync
发布:
EventBus.getDefault().postSticky(new SecondActivityEvent("Message From SecondActivity"));
EventBus.getDefault().post(new ChangeImgEvent(1));
三 EventBus的实际项目应用案例
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import de.greenrobot.event.EventBus;/** * EventBus的实际项目案例演示 * * @author Administrator * */public class MainActivity extends Activity {private TextView tv_content;private Button btn_send;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_content = (TextView) this.findViewById(R.id.tv_content);btn_send = (Button) this.findViewById(R.id.btn_send);btn_send.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// 发送数据事件MyEvent my = new MyEvent();my.setType("1");my.setContent("1内容");EventBus.getDefault().post(my);}});EventBus.getDefault().register(this);}public void onEvent(MyEvent event) {if (event.getType().equals("0")) {tv_content.setText(event.getContent());}}public void onEventMainThread(MyEvent event) {if (event.getType().equals("1")) {tv_content.setText(event.getContent());}}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();EventBus.getDefault().unregister(this);}}
0 0
- Android事件总线分发库的使用
- 事件总线分发库EventBus的使用
- 事件总线分发库--EventBus的使用
- Android事件总线分发库的使用Otto(有点像广播,万能数据传递,并且触发)
- Android事件总线分发库的使用EventBus(和Otto一样,只是效率高点)
- 事件总线分发库EventBus框架的简单使用
- EventBus事件总线分发库
- Android事件总线分发库EventBus3.0的简单讲解与实践
- Android事件总线分发库EventBus3.0的简单讲解与实践
- 事件总线分发库EventBus详解
- 事件总线EventBus Android开源库的使用
- Android事件总线AndroidEventBus的使用
- Android事件的分发
- android事件的分发
- Android的事件分发
- Android事件的分发
- Android的事件分发
- Android 事件的分发
- Boost Log库使用介绍
- 红黑树
- 【Linux开发】Linux启动脚本设置
- LightOJ 1043 uDebug(数学)
- JAVAProxy代理模式简单实现
- Android事件总线分发库的使用
- android群英传学习笔记-自定义ScrollView
- 如何开启Telnet服务。用于本机测试netty
- c++规范
- 简单选择排序 (Java)
- 10高级PHP提示要提高你的编程
- IOS性能调优系列:使用Instruments动态分析内存泄漏,调优instruments
- 【机器学习理论】第4部分 凸函数
- 星座