标签:ref 地方 color 通信 cat eventbus private target png
EventBus是针一款对Android的发布/订阅事件总线。它可以让我们很轻松的实现在Android各个组件之间传递消息,并且代码的可读性更好,耦合度更低。长话短说直接介绍使用。
public class MessageEvent { private String message; public MessageEvent(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //注册事件 EventBus.getDefault().register(this); //这里是注册事件 请注意这里 Button startService = (Button) findViewById(R.id.startIntentService); startService.setOnClickListener(this); SpeechUtility. createUtility(this, SpeechConstant. APPID + "=5b02688c" ); handler=new Handler(); handler.postDelayed(runnable, 1000);//每1秒执行一次runnable. // startMyService(getApplicationContext()); }
EventBus.getDefault().post(new MessageEvent("problem:"+textString));
@Subscribe(threadMode = ThreadMode.MainThread) public void onMessageEventMainThread(MessageEvent messageEvent) { Log.i("MainThread", messageEvent.getMessage()); Toast.makeText(this, messageEvent.getMessage(), Toast.LENGTH_SHORT).show(); }
@Override protected void onDestroy() { super.onDestroy(); //取消事件注册 EventBus.getDefault().unregister(this); }
在EventBus的事件处理函数中需要指定线程模型,即指定事件处理函数运行所在的想线程。在上面我们已经接触到了EventBus的四种线程模型。那他们有什么区别呢?
在EventBus中的观察者通常有四种线程模型,分别是PostThread(默认)、MainThread、BackgroundThread与Async。
标签:ref 地方 color 通信 cat eventbus private target png
原文地址:https://www.cnblogs.com/wanghuixi/p/9128539.html