【EventBus】EventBus 事件总线框架简介 ( EventBus 使用流程 )
文章目錄
- 一、EventBus 事件總線框架簡介
- 二、EventBus 使用流程
一、EventBus 事件總線框架簡介
Android 中的事件傳遞機制 :
- 使用 Intent 在組件間傳遞信息 ;
- 使用 BroadcastReceiver 跨進程傳遞數據 ;
- 使用 Handler 跨線程通信 ;
- 使用 接口回調 機制 , Activity 與 Fragment 之間的通信方式 ;
EventBus 事件總線框架 簡化了 Android 中的事件傳遞機制 ;
EventBus 常用于 組件 間的事件傳遞 , 實現了各個組件間的通信 , 如 Activity 與 Fragment 之間的通信 , Activity 與 Service 之間的通信 ;
EventBus GitHub 地址 : https://github.com/greenrobot/EventBus
EventBus 文檔 : https://greenrobot.org/eventbus/documentation/
二、EventBus 使用流程
參考 https://github.com/greenrobot/EventBus 中的使用步驟 ;
1 . 導入 EventBus 依賴 ;
implementation 'org.greenrobot:eventbus:3.2.0'2 . 聲明 EventBus 事件處理方法 ; 使用 @Subscribe 注解修飾處理消息的方法 , 該方法必須是 public void 修飾的 , 只有一個參數 , 參數類型隨意 , 調用 EventBus.getDefault().post 即可發送消息到該方法進行處理 ;
/*** 使用 @Subscribe 注解修飾處理消息的方法* 該方法必須是 public void 修飾的* 只有一個參數 , 參數類型隨意* 調用 EventBus.getDefault().post 即可發送消息到該方法進行處理* @param msg*/@Subscribepublic void onMessgeEvent(String msg){textView.setText(msg);}3 . 注冊 EventBus , 一般在 onCreate 中注冊 , 在 onDestory 中取消注冊 ;
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 首先注冊訂閱 EventBusEventBus.getDefault().register(this);}@Overrideprotected void onDestroy() {super.onDestroy();// 取消注冊EventBus.getDefault().unregister(this);}4 . 發送消息 ; 調用 EventBus.getDefault().post 方法 , 將消息發送到消息處理方法中 ;
EventBus.getDefault().post("Hello EventBus !");總結
以上是生活随笔為你收集整理的【EventBus】EventBus 事件总线框架简介 ( EventBus 使用流程 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【AOP 面向切面编程】Android
- 下一篇: 【EventBus】EventBus 使