EventBus框架的使用

EventBus框架集成步骤:
	1、AS添加EventBus框架依赖:
		dependencies {
			compile 'org.greenrobot:eventbus:3.0.0'
		}
	2、使用步骤:
		public class DemoActivity extends FragmentActivity {


			@Override
			protected void onCreate(Bundle savedInstanceState) {
				super.onCreate(savedInstanceState);
				setContentView(R.layout.activity_demo);

				//EventBus注册
				EventBus.getDefault().register(this);
				... ...

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

			}
			
			//EventBus消息处理方法。
			@Subscribe(threadMode = ThreadMode.MAIN)
			public void onShowMessageEvent(EventBusMessageModel eventBusMessageModel) {

				String type = eventBusMessageModel.getType();
				

			}

		}
		
		//自定义的消息结构
		public class EventBusMessageModel{

			private String type;
			private Object passValue;

			public EventBusMessageModel(String type, Object passValue) {
				this.type = type;
				this.passValue = passValue;
			}

			public String getType() {
				return type;
			}

			public void setType(String type) {
				this.type = type;
			}

			public Object getPassValue() {
				return passValue;
			}

			public void setPassValue(Object passValue) {
				this.passValue = passValue;
			}
		}
		
		
		在需要发送的地方直接调用:
			EventBus.getDefault().post(new EventBusMessageModel("type","任意Object对象"));
			其中EventBusMessageModel是自定义的。根据自己需要设置即可。
	3、应用场景:
		EventBus框架其主要的作用是解耦。之前Activity与Activity、Activity与Fragment、跨Activity刷新UI等场景下,
	消息、数据等的传递用接口等方式。接收方和发起方的耦合性太强。项目前期感觉还不明显,
	但当到了项目后期维护阶段。就会特别头疼。
		EventBus类似于BroadcastReceiver,但比BroadcastReceiver更灵活。不会受限于Context,Intent;像一个独立于项目的消息、数据监听响应者。
		
		
		

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值