一个简单的mvp

Activity  

实现Precenter中的接口来处理数据,new 一个Precenter对象并将自身传递给Precenter

通过Precenter对象 向Precenter发出指令

//mvp
public class MainActivity extends AppCompatActivity implements  Precenter.viewInter{

    private Precenter mprecenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

//        LocationUtil.getInstance();
        mprecenter = new Precenter(this);
        mprecenter.getUrl();
    }
    @Override
    public void Success() {

    }

    @Override
    public void Error() {

    }
}

Precenter  

通过接口获取到view 和  model ,收到activity中的指令后操作model 并通过接口更新view

public class Precenter {

    Precenter.modeInter  mModel;
    Precenter.viewInter   mview;
    interface  viewInter{
        void  Success();
        void  Error();
    }
    interface  modeInter{
        void  getUrl(DataCallBack call);
    }
    public Precenter(MainActivity mainActivity) {
        mModel  =   new Model();
        mview = mainActivity;
    }

    //请求数据
    public void getUrl() {
        mModel.getUrl(new DataCallBack() {
            @Override
            public void onSuccess() {
                mview.Success();
            }
            @Override
            public void onError() {
                mview.Error();
            }
        });
    }
}

Model

实现Precenter中的接口 通过接口返回请求到的数据

public class Model implements Precenter.modeInter {

    @Override
    public void getUrl(DataCallBack call) {
        //发送请求

    }
}

//数据传递接口

public interface DataCallBack {
    void onSuccess();
    void onError();
}

猜你喜欢

转载自blog.csdn.net/cao2884388/article/details/120463703