国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

EventBus 的簡單使用

2019-11-10 22:20:02
字體:
供稿:網(wǎng)友

1. 簡介

EventBus是一個Android端優(yōu)化的publish/subscribe消息總線,簡化了應(yīng)用程序內(nèi)各組件間、組件與后臺線程間的通信。比如請求網(wǎng)絡(luò),等網(wǎng)絡(luò)返回時通過Handler或Broadcast通知UI,兩個Fragment之間需要通過Listener通信,這些需求都可以通過EventBus實現(xiàn)。

這里寫圖片描述

2. 下載地址

https://github.com/greenrobot/EventBus

3. 使用步驟

3.1 添加jar包到libs文件夾下

3.2 注冊

@OverridePRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EventBus.getDefault().register(this);}

3.3 解注冊

@Overrideprotected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this);}

3.4 構(gòu)建發(fā)送消息類

public class MessageEvent { public String name; public String passWord; public MessageEvent(String name, String password) { this.name = name; this.password = password; }}

3.5 發(fā)布消息

EventBus.getDefault().post(new MessageEvent("dahaige","123456"));

3.6 接收消息

@Subscribe(threadMode = ThreadMode.MAIN) public void messageEventBus(MessageEvent event){ tv_result.setText("name:"+event.name+" passwrod:"+event.password); }ThreadMode.MAIN 表示這個方法在主線程中執(zhí)行ThreadMode.BACKGROUND 表示該方法在后臺執(zhí)行,不能并發(fā)處理ThreadMode.ASYNC 也表示在后臺執(zhí)行,可以異步并發(fā)處理。ThreadMode.POSTING 表示該方法和消息發(fā)送方在同一個線程中執(zhí)行

4. 粘性事件

之前說的使用方法, 都是需要先注冊(register), 再post,才能接受到事件; 如果你使用postSticky發(fā)送事件, 那么可以不需要先注冊, 也能接受到事件.

4.1 構(gòu)建發(fā)送消息類

public class StickyEvent { public String msg; public StickyEvent(String msg) { this.msg = msg; }}

4.2 發(fā)送消息

EventBus.getDefault().postSticky(new StickyEvent("我是粘性事件"));

4.3 接收消息(sticky = true)

//注意,和之前的方法一樣,只是多了一個 sticky = true 的屬性. @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEvent(StickyEvent event){ tv_c_result.setText(event.msg); }

4.4 注冊

EventBus.getDefault().register(CActivity.this);

4.5 解注冊

EventBus.getDefault().removeAllStickyEvents();EventBus.getDefault().unregister(CActivity.class);
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 枞阳县| 额尔古纳市| 武川县| 波密县| 宣化县| 成都市| 稻城县| 大方县| 安新县| 莆田市| 平武县| 榕江县| 博罗县| 襄城县| 西和县| 抚顺县| 罗田县| 福建省| 隆林| 阿瓦提县| 昌江| 阿拉尔市| 炉霍县| 定襄县| 神木县| 邯郸市| 泸西县| 沙河市| 天气| 拉孜县| 青河县| 岐山县| 桂东县| 榕江县| 丰县| 西安市| 瓮安县| 西安市| 贵州省| 舟曲县| 淳化县|