MVP的三层
- View层: 对应于Activity/Fragment,负责View的绘制以及与用户交互
- Presenter层: 负责完成View与Model间的交互
- Model层: 实体模型、与数据进行交互,对数据进行加工处理
第一步:定义两个基类,这两个接口分别是所有View和Presenter的基类: BaseView和BasePresenter。
BaseView
中主要定义一些通用的界面方法,如显示/隐藏进度条、显示提示信息等。BasePresenter
中也可以定义一些通用的方法,如初始化方法等。
public interface BaseView {
//加载数据出错是调用
void showLoadFailureMsg(String errorMsg);
}
public interface BasePresenter {
//可以什么都不用写
}
第二步:定义契约接口,使用契约接口是为了更清晰,更直观,一目了然。维护方便。
public interface NewsContract {
//新闻View
interface INewsView extends BaseView{
//获取得到网络数据显示在界面上 NewsEntity--实体类
void showNewsDetail(NewsEntity newsEntity);
}
//新闻Presenter
interface INewsPresenter extends BasePresenter{
/**
* 传递参数到Model去加载网络数据
* @param page 页数
* @param rows 每页显示的个数
*/
void loadNewsList(int page,int rows);
}
}
第三步:Presenter层
定义一个借口继承BasePresenter,写一些你需要的接口,