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 ...
随机推荐
- ABBYY FineReader 12没你想得那么简单
你是否觉得自己对ABBYY FineReader 12已经了如指掌了?也许你会认为它不过就是一款OCR文字识别软件,能够快速方便地将扫描纸质文档.PDF文件或者数码相机的图像转换为可编辑.可搜索的格式 ...
- c++运算符重载---20
原创博文,转载请标明出处--周学伟 http://www.cnblogs.com/zxouxuewei/ c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程 ...
- spring mvc处理方法返回方式
Model: package org.springframework.ui; import java.util.Collection; import java.util.Map; public int ...
- SpringMVC -- 梗概--源码--壹--收参
附:实体类 Class : User package com.c61.entity; import java.text.SimpleDateFormat; import java.util.Date; ...
- DNS原理入门
原文链接:http://www.ruanyifeng.com/blog/2016/06/dns.html http://www.ruanyifeng.com/blog/2012/05/internet ...
- 采用Post方式提交数据实例
项目目录 一.编写MainActivity.java package com.hyzhou.getdemo; import com.hyzhou.getdemo.service.LoginServer ...
- 【Cesium】坐标理解(转)
https://blog.csdn.net/qq_34149805/article/details/78393540 1. 经纬度转换为世界坐标 第一种方式:直接转换: Cesium.Cartesia ...
- Selenium 获取节点信息
Selenium 可以通过 find_element() 找到指定的节点,Selenium 也提供了相关的方法和属性来直接提取节点信息,如属性.文本等 from selenium import web ...
- PHP一致性哈希实现。。
<?php /** *@author:xiaojiang 20140222 * 一致性哈希php 实现 */ class MyHash{ //虚拟节点数 private $_virtualCou ...
- 向Windows内核驱动传递用户层定义的事件Event,并响应内核层的通知
完整的程序在下载:http://download.csdn.net/detail/dijkstar/7913249 用户层创建的事件Event是一个Handle句柄,和内核中的创建的内核模式下的KEV ...