摘要: RouteData public class RouteData { private RouteValueDictionary _dataTokens; private IRouteHandler _routeHandler; private Rout... 阅读全文
posted @ 2014-11-25 17:18 飞蛾扑火 阅读(290) 评论(0) 推荐(0) 编辑
摘要: Retrofit Retrofit与okhttp共同出自于Square公司,Retrofit是一个高质量和高效率的http库,Retrofit是对okhttp的网络框架做了一层封装,Retrofit内部的网络请求还是中转给了okhttp来实现,通过Retrofit我们可以非常简单的进行网络请求,提高 阅读全文
posted @ 2017-05-17 17:02 飞蛾扑火 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 代理模式 在设计模式中存在的代理模式;代理模式的作用就是为其他对象提供一种代理以控制对这个对象的访问。 代理模式一般存在三种角色:抽象角色,代理角色,真实角色;百度百科上摘抄了三种角色的解释: 抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实 阅读全文
posted @ 2017-05-10 18:35 飞蛾扑火 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 线程模型 在EventBus3.0框架中执行线程的快速切换,通过ThreadMode来指定线程在哪个线程中执行; 在EventBus3.0框架线程模型有个PendingPost 类负责数据的传递; PendingPost 类中维护了3个字段,其中event为事件类的实例,subscription是监 阅读全文
posted @ 2017-04-26 16:13 飞蛾扑火 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 事件分发 EventBus3.0的事件的分发时通过EventBus类中的post(粘性事件为postSticky)方法,post与postSticky的唯一区别就是,在postSticky内部首先会向EventBus类中的stickyEvents集合中添加事件类实例,然后在调用post方法;post 阅读全文
posted @ 2017-04-26 15:39 飞蛾扑火 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 事件注册 在EventBus3.0框架中订阅者对事件进行注册/订阅是通过EventBus类中的register方法来实现的,register的方法参数就是我们的订阅者的实例; findSubscriberMethods 在register方法中首先获取订阅者的实例的类型,然后通过subscriber 阅读全文
posted @ 2017-04-26 10:57 飞蛾扑火 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 原理 EventBus的核心工作机制如下图 在EventBus3.0架构图: EventBus类 在EventBus3.0框架的内部,核心类就是EventBus,订阅者的注册/订阅,解除注册,以及事件的分发全部在这个核心类中实现; 对于EventBus对象的创建,在框架内部是通过单例模式进行创建;我 阅读全文
posted @ 2017-04-25 18:56 飞蛾扑火 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 概念 深入学习EventBus框架,就必须理解EventBus的相关原理和一些概念; Subscribe 在EventBus框架中,消息的处理接收方法必须要“@Subscribe”注解来进行标注; 从Subscribe源码中可以看出,有三个相关的实现,其中sticky 是来标注是否是粘性事件,默认是 阅读全文
posted @ 2017-04-25 16:55 飞蛾扑火 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 概述 由greenrobot织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架; EventBus是一个消息总线,以观察者模式实现,用于简化程序的组件、线程通信,可以轻易切换线程、开辟线程。EventBus分离了事件的发送者和接收者的耦合关系;它可以替代我们传统的I 阅读全文
posted @ 2017-04-25 16:29 飞蛾扑火 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 首先看一段Map函数的使用代码: Observable<Integer>Observable1=Observable.create(new Observable.OnSubscribe<Integer>() { @Override public void call(Subscriber<? supe 阅读全文
posted @ 2017-03-13 15:24 飞蛾扑火 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 一、命令模式定义 在软件设计系统中,行为的请求者与行为的实现者总是耦合在一起,在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式。在现实生 阅读全文
posted @ 2016-04-21 14:42 飞蛾扑火 阅读(233) 评论(0) 推荐(0) 编辑