您的位置:首页 > 理论基础 > 计算机网络

基于NoHttp+RxBus+MVP实现网络文件下载(带进度条)

2016-12-19 14:06 549 查看
前面有一篇文章写的是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源码地址



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvp RxJava NoHttp