M层接口
public interface IModel {
void doGet(int page,Okutils.OkHttpCallBack httpCallBack);
}
M层实现类
public class Model implements IModel{
@Override
public void doGet(int page, Okutils.OkHttpCallBack httpCallBack) {
Okutils.getInstance().doGet("http://www.xieast.com/api/news/news.php?type=top&page="+page,httpCallBack);
}
}
P层接口
public interface IPresenter {
void getData(int page);
}
P层实现类
public class Presenter implements IPresenter{
private Model mModel;
private IView mIView;
public Presenter(IView IView) {
mModel=new Model();
mIView = IView;
}
public void getData(int page){
mModel.doGet(page, new Okutils.OkHttpCallBack() {
@Override
public void success(String s) {
User user = new Gson().fromJson(s, User.class);
List<User.DataBean> data = user.getData();
mIView.onsuccess(data);
}
@Override
public void failed(Exception e) {
mIView.onfaile(e);
}
});
}
public void des(){
if (mModel!=null){
mModel=null;
}
if (mIView!=null){
mIView=null;
}
}
}
V层接口
public interface IView {
void onsuccess(List<User.DataBean> list);
void onfaile(Exception e);
}
在main里使用
public class MainActivity extends AppCompatActivity implements IView {
private Presenter mPresenter= new Presenter(this);
private int page=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPresenter.getData(page);
}
@Override
public void onsuccess(List<User.DataBean> list) {
//这里面写Adapter
}
@Override
public void onfaile(Exception e) {
}
}