TheMVP 跟着代码走,绝对能实现(超简单)

本文提供了TheMVP框架的搭建步骤,包括创建View接口和抽象类、建立Presenter基类以及如何在实际使用中应用。强调没有最好的框架,只有最适合项目需求的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、关于TheMVP的优缺点:访问此网站有详细讲解https://kymjs.com/code/2015/11/09/01/

 本文仅提供TheMVP框架代码(如果您照我的步骤简单搭个TheMVP框架再去与这篇文章对比会很好理解):

model层其实就是存放我们需要的实体类。及其他数据。本文测试未使用,所以就没有写。

基本框架模型:

1.建包View

1.1view包下创建接口   IDelegate    定出规范:

package com.example.dw.dw20181121moni.view;

import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public interface IDelegate {
    //初始化方法
    void initData();
    //获取布局
    void create(LayoutInflater inflater, ViewGroup viewGroup, Bundle bundle);
    //获取视图
    View getRootView();
    //获取上下文
    void getContext(Context context);
}

1.2 view包下创建抽象类 AppDelegate 实现接口 IDeltegate

initData和getContext在这里无用,我把这两个方法此类里删除掉了。另外可以在这里写两个方法,一个get()我是用来获取控件ID,一个setClick()我用来设置点击事件,这样在我的子presenter层只需要get(R.id.xxx);就可以获取的我的控件,而点击事件就更简单了,我只需要setClick(this.R.id.xxx);就可以设置我的点击事件。

我们要在这里拿到我们的layout,但是目前并不存在,所以定义一个抽象方法(getLayoutId()),在我们子persenter继承我们的AppDelete的时候,将对应的layout传过来。这个类只需要以下代码这些操作便完成了(你完全可以在这个类定义任何你觉得可以简化代码的方法,比如Toast)

package com.example.dw.dw20181121moni.view;

import android.os.Bundle;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public abstract class AppDelegate implements IDeleg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值