基于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。
2.Persenter:
Persenter的话是用来处理逻辑业务的。
3.为了逻辑更加紧凑,将View和Persenter写在一个Contract里面:
4.具体怎么使用,我们会让Activity去实现我们的View接口,然后在写一个类去实现我们的Persenter去处理业务逻辑。具体的欢迎下载源码来看看。
传统的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源码地址
相关文章推荐
- 基于NoHttp+RxBus实现文件下载(带下载进度)
- 基于Retrofit+Okio+RxBus实现文件下载(带下载进度)
- 基于Retrofit+Okio+RxBus实现文件下载(带下载进度)
- 基于Retrofit+Okio+RxBus实现文件下载(带下载进度)
- 基于Retrofit+Okio+RxBus实现文件下载(带下载进度)
- 基于Retrofit+Okio+RxBus实现文件下载(带下载进度)
- 基于HTTP的单线程文件下载功能实现
- 基于NoHttp+RxBus+MVP+DataBinding实现网络文件下载(带进度条)
- Qt5.8用HTTP实现文件上传和下载(带进度条)
- RxEasyHttp一款基于RxJava2+Retrofit2实现简单易用的网络请求框架
- asphttprequest 实现文件下载, 监听下载进度以及当前网络的状态(WXHL)
- android网络编程之HttpUrlConnection的讲解--实现文件断点下载
- 网络编程应用:基于UDP协议【实现文件下载】--练习
- Java实现基于http协议的网络文件下载
- 用java实现基于http协议的网络文件下载
- 利用ASIHttp实现文件的下载、上传和网络状态的监控
- 基于HTTP的多线程文件下载功能实现
- Java实现基于http协议的网络文件下载
- 实现各种文件的下载方法:用于 WEB上的报表导出(jxl 实现Excel报表下载),核心思想就是将文件的输出流传给HttpResponseOutputStream 里就成了。
- 用Java实现HTTP文件队列下载-Java基础-Java-编程开发