前言

之前第一篇说了MVP模式的结构,这第二篇就开始写一些基础的代码吧!最近本人的Android课要做一个课程设计,其实要求也不算特别多,只要实现一些基本功能界面即可。也正好在看MVP,所以就想着要不就用MVP来写一个高仿(山寨)微信呗。所以从这一篇开始我就用微信来做MVP的练习代码了。

补一个上一篇上传不了的MVP模式图
请输入图片描述


实现结果

今天就先用简单的mvp代码写一个列表,先上效果图(有点丑,没怎么调样式,以后再改!)
screenshot-1524753359804.jpg


View层

  • View层主要由一个接口实现,通过该接口将数据设置到视图中
    view层.png

Model层

  • Model层是获取数据层,也是通过定义一个接口,然后再新建一个类去实现这个接口从而获取数据。(这里使用假数据,创建一个list列表作为数据源返回)
    Model层.png

Present层

  • Present层之前也说过它是M和V的桥梁,通过一个类来实现所定义的接口。而这个方法第一是通过Model层调用获取数据的方法,第二是将数据回调到View层当中。所以您会看到它先调用M层的initData方法然后再将所得的list回调到V层的setData方法中。
    Present层.png

实现视图的Fragment

  • 在Fragment中就是实现View层接口的地方,首先通过实例P层的类去调用loadData方法,实际上就是调用M层去获取数据然后回调给V层。然后在V层也就是setData方法获取到数据。
    WXFragment.png

最后

这个就是利用MVP实现一个简单到不能再简单的列表,通过这个就能初步的理解MVP模式的结构了。
最后推荐一个贴代码神器:请输入链接描述
用来贴代码超高逼格!!!!

标签: Andorid MVP模式

已有 2 条评论

  1. Kevin Qiu Kevin Qiu

    用这个贴代码神器好像不方便看的人去复制代码?

    1. 程序员小羊 程序员小羊

      确实是有不太好的地方,而且手机看的话不太方便

添加新评论