最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 消息分發(fā)使用EventBus的實例詳解

 更新時間:2017年07月28日 09:44:00   投稿:lqh  
這篇文章主要介紹了Android 消息分發(fā)使用EventBus的實例詳解的相關(guān)資料,在項目中用了許多Handler和broadcast導(dǎo)致代碼冗余,顯得雜亂無章,這里使用EventBus來實現(xiàn)相同的功能,需要的朋友可以參考下

Android 消息分發(fā)使用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) {
 }

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

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

3. 創(chuàng)建自定義消息實體

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

  public int id;//類型標(biāo)識

  public Object data;//數(shù)據(jù)對象

  //省略constructor & getter & setter
}

4. 發(fā)送消息

繼承自基類Activity后:

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

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

5. 消息處理

根據(jù)數(shù)據(jù)處理的需求重寫基類的4個方法即可。

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

相關(guān)文章

最新評論

宁国市| 文化| 阳原县| 清水河县| 波密县| 梅河口市| 航空| 辉南县| 广西| 读书| 乃东县| 札达县| 龙胜| 合山市| 曲阜市| 扶风县| 石景山区| 冕宁县| 孝昌县| 奉贤区| 疏附县| 孝感市| 察隅县| 万荣县| 阳东县| 灵台县| 绥江县| 镇江市| 博白县| SHOW| 鹿邑县| 特克斯县| 册亨县| 边坝县| 井陉县| 阿荣旗| 静安区| 栾川县| 册亨县| 双桥区| 镇沅|