这个Demo使用的是MVP架构
既然要说MVP,那不得不提一下MVC
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种框架模式。
M表示单纯的Bean模型
V表示View以及子类
C表示Activity、Fragment以及子类
使用实例的链接:https://github.com/meiyingxiang/AndroidMVPDemo
本篇主要说MVP所以就不在说MVC了
MVP全称Model-View-Presenter,即模型-视图-中介者
M表示数据层(数据库、文件操作、网络)
V表示View、Activity以及Fragment及其子类
P表示Presenter中介者
MVP设计的目的将Ui层和数据层解耦合
流程图如下:
我这里通过几种方式一步步教你如何使用MVP
首先最原始的方式比如我们请求接口获取数据
我这里使用的网络框架是xUtils。
我们在这个基础上进行优化
然后数据通过接口回调出去 最后通过P层回调 这是一个简单的网络请求MVP模型,接下来我们继续优化,当我们退出时,但是网络请求还在执行程序,会继续执行回调这个时候我们需要在程序退出时执行取消绑定于是就有了绑定attachView取消绑定detachView代码如下: 接着我们可以把绑定和取消绑定放到基类 这样P层的代码会减少,逻辑也很清晰。还可以继续优化,高度抽象化最后Activity和Fragment也可以做一个基类
最后在Activity里面使用详细的Demo链接如下:
网友评论