Android MVP实例
简单的请求网络图片并在adapter中显示。
1、首先看下mvp的流程模型图
![](https://img.haomeiwen.com/i2085153/37fda05e0b0debc6.png)
说明:
步骤1:UI显示View方法,引用Presenter
步骤2:Presenter掉用Model,走Model具体逻辑
步骤3:Model逻辑实现,回调Presenter方法。
步骤4:Presenter回调View,即回到UI,回调View方法。
一、导入项目需要的依赖:添加网络和异步依赖
![](https://img.haomeiwen.com/i2085153/e2a8f8413cb3e369.png)
二、项目结构
![](https://img.haomeiwen.com/i2085153/51bf3e3aff1c208a.png)
四、MVP之M:
1)、ImageBean:
![](https://img.haomeiwen.com/i2085153/8e084d19998ea6a2.png)
2)、ImageModel:
![](https://img.haomeiwen.com/i2085153/e349f9ac5a09e90d.png)
3)、ImageModelImpl:
![](https://img.haomeiwen.com/i2085153/f51b05b4294e2cda.png)
4)、OnLoadImageListener:
![](https://img.haomeiwen.com/i2085153/fbff06a8a3f9bab4.png)
五、MVP之P:
1)、Imagepresenter:
![](https://img.haomeiwen.com/i2085153/87f42fcbf5b633a3.png)
2)、ImagePressenterImpl: 实现ImagePresenter和M中数据成功的回调。
![](https://img.haomeiwen.com/i2085153/7fed3976fc550a7a.png)
![](https://img.haomeiwen.com/i2085153/bc5524f5faacb1d0.png)
六、MVP之V:
1)、ImgView:
![](https://img.haomeiwen.com/i2085153/8c6eebb91c57ccbc.png)
2)、View和Fragment的交互
![](https://img.haomeiwen.com/i2085153/77d426484f8b95b7.png)
![](https://img.haomeiwen.com/i2085153/7ce51de65f5d03b5.png)
![](https://img.haomeiwen.com/i2085153/f63dac2e9ecb0b6e.png)
![](https://img.haomeiwen.com/i2085153/0e11a62663f4afb1.png)
![](https://img.haomeiwen.com/i2085153/8e661d53e89b37b1.png)
源码地址稍后。。。
总结:
MVC模式
视图(View):用户界面。
控制器(Controller):业务逻辑
模型(Model):数据保存
View 传送指令到 Controller,Controller 完成业务逻辑后,要求 Model 改变状态Model 将新的数据发送到 View,用户得到反馈
MVP模式
使用MVP时,Activity和Fragment变成了MVC模式中View层,Presenter相当于MVC模式中Controller层,处理业务逻辑。每一个Activity都有一个相应的presenter来处理数据进而获取model。
网友评论