前面有一篇文章写的是NoHttp+RxBus实现网络文件的下载,此篇文章是对上一篇文章的升级版本,使用到了MVP模式。上一篇地址:点击打开链接
传统的Android开发使用的是的MVC模式,个人觉得之前用MVC开发都是全写一个类-Activity里面,业务复杂的情况下看着头疼。™ Activity到底算V还是C,还是两者都是?傻傻分不清楚。
使用MVP的话,view由Activity承担,Presenter做业务,结构清晰。缺点就是每一个Activity或者Fragment都增加一个Presenter,代码量会增加。下面就来说说会增加哪些代码:
1.View:
View的话主要是用来跟新UI。
public interface View {
void upDataUI(DownLoadBean bean);
}
2.Persenter:
Persenter的话是用来处理逻辑业务的。
// 逻辑处理
public interface Persenter {
boolean checkSelfPermission(Context context);
void initRxBus();
void startDownLoad();
}
3.为了逻辑更加紧凑,将View和Persenter写在一个Contract里面:
public class DownLoaderContract { //跟新UI public interface View { void upDataUI(DownLoadBean bean); } // 逻辑处理 public interface Persenter { boolean checkSelfPermission(Context context); void initRxBus(); void startDownLoad(); } }
4.具体怎么使用,我们会让Activity去实现我们的View接口,然后在写一个类去实现我们的Persenter去处理业务逻辑。具体的欢迎下载源码来看看。
NoHttp+RxBus+MVP源码地址