EventBus 详细使用教程[在Activity、Service、Receiver中Post]

添加EventBus

compile ‘de.greenrobot:eventbus:2.4.0’

直接下载jar包 |点击下载

注册和注销EventBus

() {super.onStart();//注册EventBusEventBus.getDefault().register(this);Logger.e(“EventBus注册”);}() {super.onStop();//注销EventBusEventBus.getDefault().unregister(this);Logger.e(“EventBus注销”);}

自定义消息类型

{public String message;public MessageEvent(String message){this.message=message;}}

创建消息接受

(MessageEvent event) {Logger.e(“onEventMainThread”+event.message);tv_demo.setText(event.message);}

Post消息

1.在子线程中给Activity发消息更新UIclass MyThread extends Thread{() {//发送消息EventBus.getDefault().post(new MessageEvent(“这是EventBus发送的消息更新UI”));}};2.在Service中发消息给Activity更新UI{String ACTION_START=”ACTION_START”;@Overridepublic IBinder onBind(Intent intent) {return new Binder();}(Intent intent, int flags, int startId) {if(ACTION_START.equals(intent.getAction())){new MyServerThread().start();}return super.onStartCommand(intent, flags, startId);}class MyServerThread extends Thread{() {EventBus.getDefault().post(new MessageEvent(“这是在MyService的MyServerThread线程中Post的消息”));}}}3.在Receiver中发送消息给Activity更新UI{String ACTION_SEND=”ACTION_SEND”;(Context context, Intent intent) {if (ACTION_SEND.equals(intent.getAction())){EventBus.getDefault().post(new MessageEvent(“这是在[广播]中给Activity发送消息”));}}}

github地址 | 欢迎Star

,接受失败等于打破完美的面具,接受失败等于放松自己高压的心理,

EventBus 详细使用教程[在Activity、Service、Receiver中Post]

相关文章:

你感兴趣的文章:

标签云: