MVP简单示例

原创 2016年08月28日 17:32:34

MVP简单示例

本人菜鸟,可能理解和注解有误,请多担待

MVP多基于接口回调

示例

这里写图片描述
如图所示,MVP模式中需要使用的三个包,分别是model-view-presenter,他们的功能分别是:
- model:用于存放与数据处理有关的类
- view:用于存放于视图处理有关的类
- presenter:顾名思义,主持人,用来桥接处理类和视图类的类

1)model
其中包括有Model接口和一个实现该接口的UserModel类,他们的具体内容如下:

Model.class

public interface Model {
    void getData(Qiao qiao);//该方法功能为在其他的类中调用回调接口
    interface Qiao{//这个接口就是函数回调,我理解为一个用来传递数据的桥
        void qiao(List list);
    }
}

UserModel.class

public class UserModel implements Model {//实现model接口
    @Override
    public void getData(Qiao qiao) {
    //以下代码是一个数据源,即为数据的处理
        ArrayList<Integer> strings = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            strings.add(i);
        }
        //将数据源传入到qiao方法中,用于将其传入到其他的类中
        qiao.qiao(strings);
    }
}

2)view
其中包括有一个View接口和实现了该类的MainActivity类,具体内容如下:
View.class

public interface View {
    void showView(List list);//定义一个协议,该实现类都需遵循该协议
}

MainActivity.class

public class MainActivity implements View{//实现View接口

    public static void main(String[] args) {
        MainActivity mainActivity = new MainActivity();
        new Presenter(mainActivity).laod();
    }

    @Override
    public void showView(List list) {//showView方法的具体实现,即为数据的显示
        for(Object i : list){
            int num = (int) i;
            System.out.println(num);
        }
    }
}

3)presenter
其中只有一个用于桥接view和model的Presenter类,具体情况如下:
Presenter.class

public class Presenter {
//分别将Model和View的实现类传入该函数中
    private Model model;
    private View view;

    public Presenter(View view) {
        this.view = view;
        model = new UserModel();
    }

    public void laod(){
        model.getData(new Model.Qiao() {//重写Qiao函数
            @Override
            public void qiao(List list) {
                view.showView(list);//调用view的showView方法,并将数据传入其中
            }
        });
    }
}

注:该例子是用纯java写的,不是用Android写的

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android MVP模式简单例子实战

概要 对于mvp模式,大家都知道是由mvc演变而来的,对于MVC大家都知道 M Model(用于存放实体模型与业务逻辑) V View(存放布局...
  • qq_33048603
  • qq_33048603
  • 2016年10月15日 17:59
  • 6119

MVP 简单的例子

首先提一下MVP模式是什么 :MVP 全称:Model-View-Presenter ;MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻...
  • WierZheng
  • WierZheng
  • 2017年04月18日 15:38
  • 370

MVP模式&简单实例

网上关于什么是MVP模式的文章,一搜一大堆。这里也不班门弄斧了。MVP要素在MVP模式里通常包含4个要素: (1)View:负责绘制UI元素、与用户进行交互(在Android中体现为Act...
  • DeMonliuhui
  • DeMonliuhui
  • 2017年03月13日 17:28
  • 805

超简单的MVP模式案例

在说mvp之前,先说下mvc:MVC( Model View Controller):一种将逻辑和视图分隔开来的架构设计,起源于web端。其实 Android应用的开发中本身可视为一种MVC架构。 M...
  • LiuYangQiao
  • LiuYangQiao
  • 2016年09月01日 17:29
  • 2943

Android一个mvp模式的小例子

MVP模式的是什么就不说了,反正用MVP模式写多了就是感觉爽多了,特别是后期改代码、维护什么的就不用那么麻烦了。这边文章就用登录的例子来写一个小小的mvp例子。 布局文件很简单,两个编辑框和一个按钮...
  • koma025
  • koma025
  • 2016年10月20日 15:12
  • 1144

Google官方推荐MVP基础示例学习总结

对于MVP架构,最近一段时间谷歌推出了官方的示例,包含多种不同的方式,先调了一个最基础的用来学习一下。Google官方示例的Git-Hub地址:Google官方示例地址,大家可以去参观学习。本文参考自...
  • wqc_CSDN
  • wqc_CSDN
  • 2016年11月27日 21:37
  • 1216

最简单的方式实现一个Android的MVP

由于项目中没有使用MVP模式,而MVP模式是当前比较流行的android框架,我也就自己动手一小时来实现一个最精简的MVP。 这次我将一个activity为单元分解成为mvp,当然...
  • geonggld
  • geonggld
  • 2017年02月08日 13:33
  • 243

从github上的优秀实例看MVP模式

github上有一个关于MVP模式学习的实例https://github.com/antoniolg/androidmvp,虽然只有简单的几个类,却收获了几千个星。这个例子确实通俗易懂,直观的体现出了...
  • zhang___yong
  • zhang___yong
  • 2017年03月25日 18:09
  • 633

Google官方架构MVP解析与实战

转自:http://www.open-open.com/lib/view/open1462625604894.html 1 前言 当然对于MVP的解说也是使用也是层出不穷,我也网络上也能看...
  • u014538198
  • u014538198
  • 2016年10月13日 16:32
  • 723

Android MVP架构简单封装

最近在研究MVP和MVVM架构模式,看了看觉得还是MVP好做点,特意查查资料,做了下简单的封装。先看一下自己封装项目的基本库结构。 来看看源码吧 BasePresenter.javapubli...
  • u011625768
  • u011625768
  • 2016年05月29日 20:13
  • 1788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVP简单示例
举报原因:
原因补充:

(最多只允许输入30个字)