在Android上打造属于自己的Rxjava框架(四)扩展成EventBus
来源:互联网 发布:js中空格怎么表示 编辑:程序博客网 时间:2024/05/18 03:03
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">这一篇实现起来其实非常非常简单,仔细想一下RxJava和EventBus的区别,无非就是EventBus的全局可达性,就是一个全局静态变量的问题。</span>
下面就来简单实现一下。
1.首先给IPubliser增加几个方法
public IPublisher<T> name(String t);public IPublisher<T> save();public void destroy();再在Publisher中添加全局变量
private static HashMap<String,IPublisher> publishSaved = new HashMap<String,IPublisher>();还需要一个静态方法
2.看了以上几步相比大多数人都能猜到答案了,无非就是想办法在其他类中得到Publiser对象,这样就可以在不同的模块中订阅其他模块的事件。仅此而已,既然这样,每个Publisher就需要一个名字,每个Piublisher可以选择保存在全局变量中,最后有static自然就要有remove,否则就是内存泄漏了。
public IPublisher<T> name(String t) { name = t; return this; }
public synchronized IPublisher<T> save() { if (name == null) throw new RuntimeException("Publisher未命名"); if (publishSaved.containsKey(name)) throw new RuntimeException("Publisher重名"); publishSaved.put(name,this); return this; }
public void destroy() { publishSaved.remove(name); }
public static <T> IPublisher<T> getPublisher(String name){ return (IPublisher<T>)publishSaved.get(name); }
至此,就全部结束了。希望对大家有用
1 0
- 在Android上打造属于自己的Rxjava框架(四)扩展成EventBus
- 在Android上打造属于自己的Rxjava框架(一)基础篇
- 在Android上打造属于自己的Rxjava框架(二)调度器
- 在Android上打造属于自己的Rxjava框架(三)操作符变换
- 打造属于自己的网络请求框架(OKHttp+Retrofit+RxJava)
- php打造属于自己的MVC框架-
- php打造属于自己的MVC框架
- 打造属于自己的mvc框架
- RxJava学习(四利用RxJava打造自己的RxBus)
- 打造自己的EventBus
- 打造属于自己的MVVM框架: 1.什么是MVVM
- 打造属于自己的MVVM框架: 2.模版渲染引擎
- 打造属于自己的MVVM框架: 3.双向绑定
- Android打造自己的网络框架----RxJava的基础学习使用
- Android打造自己的网络框架----RxJava的基础学习使用2(map、flatMap)
- Android打造自己的网络框架----RxJava的基础学习使用3(线程控制 Scheduler)
- 打造属于自己的 gVim !
- 打造属于自己的Notepad++
- Date::Manip, Date_Cmp()
- python调用shell命令
- keans++算法
- c++第6次实验——项目3矩阵求和
- Android Studio 自动根据布局生成Activity
- 在Android上打造属于自己的Rxjava框架(四)扩展成EventBus
- springmvc+hibernate的更新问题
- 349. Intersection of Two Arrays[][
- 关于appcompat_v7的问题
- Apue:daemon
- File::Find, find()
- iOS开发-ios7下拉刷新,上提加载快速集成
- Tomcat 架构
- Sql 序列