MVP简介:
M: Model,数据层。对数据进行操作(增删改查)
V: View, 视图层。1.显示数据(页面) 2.接收用户指令并传送到Presenter层
P: Presenter, 业务处理层。在MVP架构中Model与View无法直接进行交互,Presenter层是连接View层与Model层的桥梁。它的工作流程是: 1.调用model层拿到返回结果 2.根据返回结果再调用具体的view层显示
MVP的工作原理:
- View层接收到用户指令
- View层将用户指令传送到Presenter层
- Presenter层调用Model层来处理数据
- Model层返回处理结果给Presenter层(被动)
- Presenter层根据返回结果再调用具体的view层显示
下面是一个很简单的mvp模式demo。
demo的功能是模拟登陆。
界面如下图:
具体的业务是: 点击登录按钮。若登录成功,页面出现”登录成功”的弹窗;若登录失败,页面出现”登录失败”的弹窗。
项目的结构目录:
1.IContract 契约接口类。主要作用是可以更直观的看到Presenter层与View的依赖。代码如下:
2.IModel Model层接口类。定义一个处理登录数据的方法。代码如下:
3.IModelImpl IModel接口的实现类。代码如下:
4.IPresenterImpl IContract.IPresenter接口的实现类。P层保留对view层和model层的引用。
5.MainActivity IContract.IView接口的实现类。代码如下:
以上就是完整的代码了。。。
good lucky !!!