dhroid - eventbus 事件总线
假设你有A,B,C,D,E,F几个页面,
A 是列表,A->B,或者A->C
B->D->E-F
F 是发布页,
A页面从B,C,D,E返回时都是不需要刷新的,只有从F返回,A才需要刷新
这种情况不知道各位是怎么解决的
在说个你有一个service是轮询后台服务器的查看用户消息数,当有新消息时,如果用户在msg页面,需要刷新当前页
你是通过广播机制处理吗?写起来很烦吧
还有假设在第一个页面的左侧滑中,会显示用户的头像,用户名等信息,你是每次打开侧滑时你是一直获取数据吗,当然有人知道可以放到perference中
但是什么时候更新perference中的数据了,用户更新了各种资料,发布了什么都可以更新数据,维护这个更新也不容易吧
@Inject
EventBus bus;
//这个是在后台处理事件
bus.registerListener("事件名", "监听器名字", new OnEventListener(){
@Override
public Boolean doInBg(Event event) {
super.doInBg(event);
Log.v(log_tag, "我是在后台线程处理的请勿操作UI,我接受到的参数是"+event.getParams()[0]);
return false;
}
});
或者
//这个是前台处理事件
bus.registerListener("事件名", "监听器名字", new OnEventListener(){
@Override
public Boolean doInUI(Event event) {
super.doInUI(event);
dialoger.showToastShort(EventBusOneActivity.this, 我是在UI线程处理的,我接受到的参数1是"+event.getParams()[0]+"我接受到的参数2是"+event.getParams()[1]);
return false;
}
});
bus.fireEvent("事件名","可以传递多个参数","参数2");
bus.unregisterListener("事件名","监听器名");
bus.clearEventTime("事件名", "监听名");
@OnEvent(name="事件名",ui=true,onBefore=true)
public void onEvent2(String p1,String p2){
dialoger.showToastShort(this, "事件2触发参数1:"+p1+"参数2:"+p2 );
}
@Override
protected void onResume() {
super.onResume();
EventInjectUtil.inject(this);
}
@Override
protected void onStop() {
super.onStop();
EventInjectUtil.unInject(this);
}
dhroid - eventbus 事件总线的更多相关文章
- Guava - EventBus(事件总线)
Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们的模块和领域边界很好的解耦设计 ...
- EventBus(事件总线)
EventBus(事件总线) Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们 ...
- EventBus事件总线
EventBus事件总线的使用-自己实现事件总线 在C#中,我们可以在一个类中定义自己的事件,而其他的类可以订阅该事件,当某些事情发生时,可以通知到该类.这对于桌面应用或者独立的windows服务 ...
- EventBus 事件总线 案例
简介 地址:https://github.com/greenrobot/EventBus EventBus是一个[发布 / 订阅]的事件总线.简单点说,就是两人[约定]好怎么通信,一人发布消息,另外一 ...
- C#总结(六)EventBus事件总线的使用-自己实现事件总线
在C#中,我们可以在一个类中定义自己的事件,而其他的类可以订阅该事件,当某些事情发生时,可以通知到该类.这对于桌面应用或者独立的windows服务来说是非常有用的.但对于一个web应用来说是有点问题的 ...
- Android 开发 框架系列 EventBus 事件总线
介绍 GitHub:https://github.com/greenrobot/EventBus 先聊聊EventBus 线程总线是干什么的,使用环境,优点.缺点. 干什么的? 一句话,简单统一数据传 ...
- EventBus事件总线(牛x版)
事件总线: public interface IEventBus { void Trigger<TEvent>(TEvent eventData, string topic = null) ...
- EventBus 事件总线之我的理解
用例:假设公司发布了一个公告 需要通过短信 和 邮件分别2种方式 通知员工 1:首先我们建立领域模型 /// <summary> /// 领域核心基类 /// </summary&g ...
- Orchard EventBus 事件总线及 IEventHandler作用
事件总线接口定义: public interface IEventBus : IDependency { IEnumerable Notify(string messageName, IDiction ...
随机推荐
- Django系列之form渲染表单后css样式丢失
最通用的form写法 我们经常看各大网站上写这样的form写法 class SYSAdminPhysicalForm(forms.ModelForm): ''' this form for idc's ...
- Lua环境配置和工具介绍
官网地址:http://www.lua.org/ Lua环境配置方式: (一)环境变量配置方式: (1)官网下载LuaDist,并解压缩到 c:\ (目录可自定义) 例如:C:\ environmen ...
- geoserver 数据图层输出格式
1.WMS服务请求参数 一般WMS的请求地址如下: http://localhost:8080/geoserver/topp/wms?service=WMS&versi on=1.1.0&am ...
- 如何破解银行O2O模式创新
文/赵志宏 摩 根大通的买房APP,使客户可根据自己的位置选择合适的贷款经理:华道数据提供的卡惠APP,使客户可随时查询自己周围信用卡刷卡打折的商户信息:民生银 行的微信预约叫号功能,使客户根据可自己 ...
- 九度 1482:玛雅人的密码(BFS)
题目描述: 玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码.给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能 ...
- cocos2dx 优化略记
缓存cache: 预加载资源到内存, 可以异步加载. 直接使用sprite:create()来加载资源的话, 有时候会发现, 在第一次运行动作的时候会变的很卡. 那是因为第一次要加载资源到内存 ...
- js中toFixed() 的使用(转)
转载:http://www.studyofnet.com/news/292.html 一.定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberOb ...
- mysql 查询锁表
1)使用情景“判断通过后写入数据库”,这个一般是不会有问题的, 但并发访问的时候就不太好搞.因为写入(insert)是需要时间的,假设现在有两个并发请求,(假设第一个访问是最后一个符合条件的写入请求, ...
- Hbase 管理页面
进入Hbase首页可以查看各种信息: http://192.168.23.128:16010/master-status
- 【代码审计】711cms_V1.0.5 目录遍历漏洞分析
0x00 环境准备 711CMS官网: https://www.711cms.com/ 网站源码版本:711CMS 1.0.5 正式版(发布时间:2018-01-20) 程序源码下载:https: ...