MVP简介:
M: Model,数据层。对数据进行操作(增删改查)
V: View, 视图层。1.显示数据(页面) 2.接收用户指令并传送到Presenter层
P: Presenter, 业务处理层。在MVP架构中Model与View无法直接进行交互,Presenter层是连接View层与Model层的桥梁。它的工作流程是: 1.调用model层拿到返回结果 2.根据返回结果再调用具体的view层显示

MVP的工作原理:
mvp入门demo

  1. View层接收到用户指令
  2. View层将用户指令传送到Presenter层
  3. Presenter层调用Model层来处理数据
  4. Model层返回处理结果给Presenter层(被动)
  5. Presenter层根据返回结果再调用具体的view层显示

下面是一个很简单的mvp模式demo。
demo的功能是模拟登陆。
界面如下图:
mvp入门demo
具体的业务是: 点击登录按钮。若登录成功,页面出现”登录成功”的弹窗;若登录失败,页面出现”登录失败”的弹窗。
mvp入门demo

mvp入门demo
项目的结构目录:
mvp入门demo

1.IContract 契约接口类。主要作用是可以更直观的看到Presenter层与View的依赖。代码如下:

mvp入门demo

2.IModel Model层接口类。定义一个处理登录数据的方法。代码如下:

mvp入门demo
3.IModelImpl IModel接口的实现类。代码如下:
mvp入门demo

4.IPresenterImpl IContract.IPresenter接口的实现类。P层保留对view层和model层的引用。
mvp入门demo

5.MainActivity IContract.IView接口的实现类。代码如下:
mvp入门demo
mvp入门demo

以上就是完整的代码了。。。

good lucky !!!

相关文章: