1、什么是mvp?
就是PResenter将view和model解耦
M—>model(与数据相关的,例如:数据库、文件、网络、数据解析等等.....)
V—>view (视图等等)
P—>Presenter (通过p层将View层和Model进行调度) 业务逻辑层
2.mvp的交互流程
3、简单代码展示
model层代码
/** * model(数据、网络请求接口)都放在此层中 * Created by Administrator */public class Model { public void login(String name, String pwd, OnOkListener onOkListener){ /* 请求网络后进行接口 or 数据回调 */ onOkListener.okresult(); }}/** * Model层回调接口 * Created by Administrator */public interface OnOkListener { void okresult();}p层代码** * p层 逻辑业务层 * Created by Administrator */public class Presenter{ //定义个接口将逻辑层业务结果进行回调 private MainView mainView; private Model model; public Presenter(MainView mainView){ this.mainView=mainView; this.model=new Model(); } //暴露公共方法进行调用 (在activity中) public void login(String name, String pwd){ this.model.login(name, pwd, new OnOkListener() { @Override public void okresult() { mainView.loginsuccess(); } }); }}** * p层回调接口 * Created by Administrator */public interface MainView { void loginsuccess();}activity简单调用代码public class MainActivity extends AppCompatActivity implements MainView{ private Presenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.presenter=new Presenter(this); presenter.login("zhangs","18"); } //p层回调结果 @Override public void loginsuccess() { }}
新闻热点
疑难解答