![](https://img.haomeiwen.com/i6095767/461892004d303e7d.png)
看到很多MVP模式中 都是这样一张图,但实际Model还是需要一个相反的箭头表明 Model层网络请求加载成功时的回调,将数据返回到Presenter层!(自行脑补,第一篇博客,作图技术不行)。
![](https://img.haomeiwen.com/i6095767/c5b354a7746258d0.png)
写mvp时 定义这些接口,脑海中应该有一种概括全局的思想,能够知道把必须的一些接口定义出来,一一实现。
View 简单明了,就是让Activity来implements的,而Activity中只是做一些View的显示,别如,setText("一些数据"),弹Toast,显示进度条,隐藏进度度之类的,都是在View层做的 这些都可一定义相对应的接口,我这边只定义了成功和失败的接口,因为怕麻烦
![](https://img.haomeiwen.com/i6095767/7afe4dd3e19de24b.png)
new出这个Presenter的对象后调用Presenter层中的onClickP()方法,这些方法都是在第二张图的接口类里面有注解的 很详细,之所以说用MVP写代码,能够让后面的人修改时很方便 ,个人认为是在这些接口写了注释的原因。方便理解
![](https://img.haomeiwen.com/i6095767/966e77af24621fd6.png)
接下来讲的就Presenter的类了,这个就是View和model之间的桥梁,所有我拿到了他们两的对象,但实际我是不需要拿到这个View的对象的 因为我这个BasePresenter这个父类里面有个getView();方法就是这个View的对象,但是你们没有这个父类所以你们需要new出他们的对象使用
![](https://img.haomeiwen.com/i6095767/5f83b37eae2241b7.png)
接下来是model层了,实际model层东西,只是有一个网咯请求而已;(,哈哈,最重要的还是Presenter层)
![](https://img.haomeiwen.com/i6095767/c17e73a7d2deb285.png)
接下来是onWeatherListener
![](https://img.haomeiwen.com/i6095767/900a04b8123986a2.png)
网友评论