博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 事件总线EventBus
阅读量:6214 次
发布时间:2019-06-21

本文共 1741 字,大约阅读时间需要 5 分钟。

  hot3.png

1.EventBus:

2.build.gradle

compile 'org.greenrobot:eventbus:3.0.0'

3.onCreate

EventBus.getDefault().register(this);

4.创建

public class UserEvent {    public String username;}
public void sendEvent(View view) {    new Thread(){        @Override        public void run() {            UserEvent event = new UserEvent();            event.username="小熊";            EventBus.getDefault().post(event);        }    }.start();    EventBus.getDefault().post(new FinishEvent());}

5.onDestory()

EventBus.getDefault().unregister(this);super.onDestroy();

6.线程

@Subscribe(threadMode = ThreadMode.MAIN)    //不管你发布的是什么线程 我都跑在 主线程public void changeText(UserEvent event){    Log.e("event","thread1:"+Thread.currentThread().getName());    mText.append(event.username);}
@Subscribe(threadMode = ThreadMode.POSTING) //发布过来是 什么线程 就运行在什么线程public void changeText(final UserEvent event){    Log.e("event","thread2:"+Thread.currentThread().getName());    runOnUiThread(new Runnable() {        @Override        public void run() {            mText.append(event.username);        }    });}
@Subscribe(threadMode = ThreadMode.BACKGROUND) //发布过来是 主线程 创建子线程 发布过来是 子线程直接运行在该子线程public void changeText(final UserEvent event){    Log.e("event","thread3:"+Thread.currentThread().getName());    runOnUiThread(new Runnable() {        @Override        public void run() {            mText.append(event.username);        }    });}
@Subscribe(threadMode = ThreadMode.ASYNC) //不管发布的是什么线程 都创建子线程public void changeText(final UserEvent event){    Log.e("event","thread4:"+Thread.currentThread().getName());    runOnUiThread(new Runnable() {        @Override        public void run() {            mText.append(event.username);        }    });}

转载于:https://my.oschina.net/glfei/blog/2961236

你可能感兴趣的文章
美国信息安全架构师的岗位职责和胜任资格
查看>>
谨防过分依赖于有影响力的用户
查看>>
印度光伏市场潜力巨大 正信光电拟积极扩大市场占有率
查看>>
软银与ARM联合公开信:ARM已成软银集团一员 业务如常
查看>>
代理和AOP
查看>>
癌细胞最偏爱10个字,你却每天都在喂养“它”!
查看>>
右击 -> 查看源文件,和其他一些前端性能测试技巧
查看>>
这56家公司共同发力智慧城市
查看>>
深圳卓炎科技|企业网站建设|提高内容网站粘度的常见方法
查看>>
OS X Eagle Peak:据说这是 Mac 新系统名称
查看>>
《大规模元搜索引擎技(1)》一1.1 Web上查找信息
查看>>
Maven实战
查看>>
聊聊Java中的四种单例模式
查看>>
功能测试的国别差异(日本与欧美)
查看>>
MPLS-聚合路由对LSP的破坏--高级feature
查看>>
 HTTP头信息解读
查看>>
如何定义IE的文档兼容模式
查看>>
在KEIL中使用MDK-ARM开发cortex-m4
查看>>
性价比更高的一套电脑配置
查看>>
我的友情链接
查看>>