网络框架Retrofit和Arouter路由实现组件化开发
2017-08-18 本文已影响121人
隰有荷
在以前尚未接触过基类的时候,看到人家用BaseActivity和BaseFragment时感觉很方便,所有的子类都继承自他们,能省好多事。慢慢的才知道这样也是有弊端的,代码之间的关联太多,导致耦合度高。而后来在学习了前辈的代码后才知道组件化开发的优势,实现了解耦,项目的代码复用性变强。
看一下简单的效果
Domo启动后是这样
app组件里的启动界面MainActivity跳转到user组件里的LoginActivity界面,功能是获取一下验证码
user组件的LoginActuvity首先,这里根据文章标题,从网络框架Retrofit的使用开始说起(以前有学习总结过一篇NetKnife网络框架,想实现起来还是有很多代码的),这个框架就相对简洁易用了,下面开始正文:
一:网络框架Retrofit的使用
1、添加依赖:
由于Retrofit自带解析功能,所以在依赖中要加入他们的解析库(第二行)
Retrofit的依赖2、新建网络管理类
网络请求管理类3、在BaseApplication中初始化网络请求的基础链接,橘色框(路由初始化也在这,蓝色框)
网络框架Retrofit和Arouter路由实现组件化开发
4、新建BaseBean(根据后台返回字段确定bean中字段)
BaseBean基础信息类5、新建网络请求
网络请求的接口实现
6、发送网络请求(使用)
网络请求的具体使用
Retrofit的使用到此结束。
下面说一下使用路由实现不同组件之间的跳转
二、Arouter路由实现不同组件之间的跳转
既然是组件化开发,必然有不同的组件,比如app组件里面有启动的功能这里写的是MainActivity,如果要他跳转到其他组件,如user组件的具有登录功能的LoginActivity中。用以前的startActivity(),是行不通的,这里用于组件之间的跳转是使用路由实现,只有同组件之间的跳转才依然使用startActivity()
1、添加依赖
网络框架Retrofit和Arouter路由实现组件化开发2、在BaseApplication中配置路由
实现过程在上文的 一、网络框架Retrofit的使用 的步骤3 的蓝色框中。
3、注意事项
网络框架Retrofit和Arouter路由实现组件化开发4、实现跳转
在第一个Activity中,橘色框内类似于以前的startActivity()。
Activity1在第二个Activity中
Activity2结束。