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;像一个独立于项目的消息、数据监听响应者。
		
		
		

你可能感兴趣的:(android开发框架)