Android 最简单的MVP案例;

本文深入解析MVP设计模式,详细介绍界面层(V)、连接层(P)与数据层(M)的职责与交互方式,通过具体代码示例展示如何实现各层间的解耦合,为读者提供了一个清晰的MVP模式应用指南。

随手撸个发出来:

V:界面层

//界面层需要实现P.View方法,然后重写P.View中的方法;M层给的数据就在这些个方法的参数中;
// 还要获取到P.Provide的实例,使用P.Provide去调用M层的方法;
public class ActivityDemo extends AppCompatActivity implements DemoP.View {

    private DemoP.Provide provide;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo);
        new DemoM(this);
        provide.start();
    }

    @Override
    public void showMessage(String msg) {
        Log.i("mvp", "showMessage: "+msg);
    }

    @Override
    public void Provide(DemoP.Provide m) {
        provide = m;
    }
    
}

P:连接层

public interface DemoP {

    //提供界面
    interface View{
        void showMessage(String msg);
        void Provide(DemoP.Provide m);
    }

    //提供信息
    interface Provide{
        void start();
    }
}

M:数据层

// 数据层需要实现P.Provide,然后重写P.Provide;V层就要调用你的这些方法;
// 还要获取到P.View的实例,使用P.View把你处理好的数据返回给V层;
public class DemoM implements DemoP.Provide{

    private DemoP.View view;

    public DemoM(DemoP.View v){
        view = v;
        view.Provide(this);
    }
    @Override
    public void start() {
        StringBuffer ss = new StringBuffer();
        for (int i = 0; i < 10; i++) {
            ss.append("\n--"+i);
        }
        view.showMessage(ss.toString());
    }
}

如果刚接触MVP看着有疑惑,就照着撸一遍,大致就能懂了;

还可以看看封装一下的:MVP案例

转载于:https://www.cnblogs.com/cuichen16/p/10785943.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值