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

来源:互联网 发布:淘宝网迪士尼保温杯 编辑:程序博客网 时间:2024/05/21 06:48

前面有一篇文章写的是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源码地址

0 0
原创粉丝点击