Android中的MVP框架搭建
来源:互联网 发布:姚明身体数据 编辑:程序博客网 时间:2024/05/21 14:50
一,MVP和MVC的区别
MVP是Model View Presenter的缩写,是由MVC演化而来的,那么MVP和MVC的区别是什么呢,
从上图中可以看出,MVC之间是允许View和Model进行交互的,而MVP中的View和Model交互必须通过Presenter这个中间人进行操作的。
传统的MVC:
- Model:业务逻辑和实体模型;
- View:对应的布局文件;
- Controllor:对应的Activity;
这种模式其实View能做的事情基本上没有什么,数据绑定和事件监听等等事情都是在Activity中完成的,实际上Activity既做了Controllor的事情,又做了View的事情。会导致Activity中的代码量很大,从阅读和维护方面来讲都是比较吃力的。
新兴的MVP:
- Model:业务逻辑和实体模型;
- View:对应Activity,负责绘制View及用户交互的过程;
- Presenter:负责完成View和Model之间的交互;
将架构模式改为MVP的时候,这时候将复杂的业务逻辑和耗时操作等职责都交给了Presenter去做了,Activity变得很轻松。代码量的减少,更容易阅读了。
二,代码及示例
具体流程:
- View绘制界面,引用Presenter;
- Presenter调用Model,进行具体业务的操作;
- Model实现逻辑,回调Presenter;
- Presenter回调View,将结果展示给用户;
下面演示一下一个简单的请求天气的过程;
网络请求使用okhttp:
compile 'com.squareup.okhttp3:okhttp:3.5.0'
目录结构:
1,建立Bean
public class WeatherBean { private String city; private String wd; private String ws; private String time; //此处省略get和set方法;}
2,建立BaseView和BasePresenter
public interface BaseView { void showLoading(); void hideLoading(); void showError();}
public class BasePresenter<V> { public V mvpView; public void attachView(V mvpView) { this.mvpView = mvpView; } public void detachView() { this.mvpView = null; }}
3,
阅读全文
3 0
- Android中的MVP框架搭建
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- Android Mvp快速搭建框架MVP+Dagger2+Retrofit+Rxjava
- 框架模式MVP在Android中的使用
- 框架模式MVP在Android中的使用
- 框架模式MVP在Android中的使用
- 框架模式MVP在Android中的使用
- 框架模式MVP在Android中的使用
- 搭建MVP模板框架
- MVP入门框架搭建
- Android 一步步搭建MVP+Retrofit+RxJava网络请求框架
- Android 搭建MVP+Retrofit+RxJava网络请求框架
- android MVP + dagger2 + Retrofit + Rxjava+okhttp android基础项目框架搭建(2)--之MVP引入
- Android MVP架构搭建
- 搭建MVP框架要点记录
- 搭建自己的MVP框架
- android MVP框架
- Android的MVP框架
- PAT乙级1010. 一元多项式求导 (25)
- 利用Hexo + GitHub搭建免费的个人博客
- 浅拷贝和深拷贝
- 微信小程序点击切换图形验证码
- 权限控制
- Android中的MVP框架搭建
- 实现一个函数,可以左旋字符串中的k个字符
- Android 内存监测工具 DDMS --> Heap
- Ebtables/Iptables分析
- Exception hierarchy
- nginx 负载均衡配置
- SQL(基础查询)、SQL(关联查询)
- 2D矩阵动画
- c++ 重载new和delete实现内存管理