使用Rxbus+MVC模式搭建的项目框架

使用的第三方库:RxJava,retrofit2
项目的工程目录:
这里写图片描述
思路与相对应的实现:
分三步分析该结构
第一步;分析关键工具类RxBus:RxBus不是一种框架,而是一种模式,模仿eventBus,但代码比eventBus更优雅(个人观点,仅做参考)。
先上代码,后做分析:
这里写图片描述
RxBus类里的注释很详细,代码的含义就不多说了。
Rxbus的作用为实现了接受和发送的简单逻辑;
第二步;在Controller中实现具体的发送数据:
在此之前先部署网络请求框架:
这里写图片描述
JsonConverterFactory,JsonResponseBodyConverter两个类为给retrofit2添加转换器的工具类,主要逻辑实现在APIService和NetService两个类中;具体实现实例:
APIService类:
这里写图片描述
这里面就是网络请求的抽象方法;
NetService类:
这里写图片描述
这里主要是利用Retrofit2搭建请求;
下面关键的Controller类的实现:
这里写图片描述
这里可以看到使用了RxBus里面send()方法,用于发送请求的数据对象,其中RxUpdateEvent类为:
这里写图片描述
第三步;在BaseActivity里实现接受数据对象,用于更新UI:
BaseActivity类的实现:
这里写图片描述
这里使用了RxBus的toObserverable()方法完成了数据的接收,并调用updateView()方法来更新UI,此方法具体的实现在子类完成
在子类TestActivity中的实现:
这里写图片描述
这里是主要的实现逻辑。
这样就完成了从网络请求数据到将数据更新到UI的整个流程,使得各模块之间的耦合性大大降低了。

猜你喜欢

转载自blog.csdn.net/qq_28889087/article/details/55251981