中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 消息分發使用EventBus的實例詳解

發布時間:2020-09-03 21:50:25 來源:腳本之家 閱讀:212 作者:lqh 欄目:移動開發

Android 消息分發使用EventBus的實例詳解

1. AndroidStudio使用

dependencies {

  //最新版本
  compile 'org.greenrobot:eventbus:3.0.0' 

  //可以翻倍提高EventBus使用效率
  provided 'de.greenrobot:eventbus-annotation-processor:3.0.0-beta1'

}

2. 在基類Activity中配置

/**
 * Activity基類
 */
protected EventBus eb;

 @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //單例模式獲取到實例并注冊
    eb = EventBus.getDefault();
    eb.register(this);

  }


 @Override
  protected void onDestroy() {
    //反注冊
    eb.unregister(this);
    super.onDestroy();
  }


 //主線程
 @Subscribe(threadMode = ThreadMode.MAIN)
 public void onMainEvent(EventBean event) {
 }

 //主線程 粘性(比如傳遞intent使用)
 @Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
 public void onMainStickEvent(EventBean event) {
 }

 //后臺
 @Subscribe(threadMode = ThreadMode.BACKGROUND)
 public void onBackgroundEvent(EventBean event) {
 }

 //重新開啟一個線程來執行
 @Subscribe(threadMode = ThreadMode.ASYNC)
 public void onAsyncEvent(EventBean event) {
 }

一般情況下,常用重寫onMainEvent ( ) 方法即可。

3. 創建自定義消息實體

//根據不同需求自定義
/**
 * 自定義Event消息
 */
public class EventBean {

  public int id;//類型標識

  public Object data;//數據對象

  //省略constructor & getter & setter
}

4. 發送消息

繼承自基類Activity后:

eb.post(new EventBean(1, "data"));

//粘性
eb.postSticky(new EventBean(1, "data"));

5. 消息處理

根據數據處理的需求重寫基類的4個方法即可。

以上就是Android 消息分發使用EventBus的實例,如有疑問請留言或者到本站社區交流討論,本站關于Android的文章還有很多希望大家搜索查閱,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岱山县| 岳普湖县| 花莲市| 凯里市| 广元市| 玛多县| 水城县| 宜昌市| 遵化市| 盐津县| 寿光市| 凉城县| 吴川市| 民丰县| 东乡县| 巧家县| 吉木乃县| 岳阳县| 黑山县| 陕西省| 靖州| 扬州市| 南丹县| 定陶县| 安仁县| 县级市| 滨州市| 鹤岗市| 伽师县| 衡山县| 鄂尔多斯市| 红桥区| 渭南市| 嘉祥县| 神木县| 南丰县| 汽车| 临颍县| 女性| 九江市| 贡嘎县|