package com.example.demo4;
import android.view.Window;
import com.example.demo4.Bean.BannerBean;
import java.util.List;
import okhttp3.Callback;
public interface Contractclass {
public interface DataPresenter{
public void attachView(Contractclass.Dataview dataview);
public void destory();
public void requestData();
}
public interface Dataview{
public void showBannnerDada(List<BannerBean.ResultBean> result);
public void ShowDada(List<BannerBean.ResultBean> result);
}
public interface dataModel{
public void responeseMode(Callback callback);
public interface Callback{
public void getBannnerDada(List<BannerBean.ResultBean> result);
public void getShowDada(List<BannerBean.ResultBean> result);
}
}
}
M层调用
package com.example.demo4;
import com.example.demo4.Api.Api;
import com.example.demo4.Bean.BannerBean;
import com.example.demo4.Utils.Ustils;
import com.google.gson.Gson;
import java.util.List;
public class MOdel implements Contractclass.dataModel{
@Override
public void responeseMode( final Callback callback) {
Ustils.getInstance().doGet(Api.ApiBanner2).setHttpListener(new Ustils.HttpListener() {
@Override
public void success(String result) {
Gson gson = new Gson();
BannerBean bannerBean = gson.fromJson(result, BannerBean.class);
List<BannerBean.ResultBean> result1 = bannerBean.getResult();
callback.getBannnerDada(result1);
}
@Override
public void failure(String error) {
}
});
}
}
p层调用
package com.example.demo4;
import com.example.demo4.Bean.BannerBean;
import com.example.demo4.Model.Model;
import java.util.List;
public class Presenterttwo implements Contractclass.DataPresenter{
private MOdel model= new MOdel();
@Override
public void attachView(final Contractclass.Dataview dataview) {
model.responeseMode(new Contractclass.dataModel.Callback() {
@Override
public void getBannnerDada(List<BannerBean.ResultBean> result) {
dataview.showBannnerDada(result);
}
@Override
public void getShowDada(List<BannerBean.ResultBean> result) {
dataview.ShowDada(result);
}
});
}
@Override
public void destory() {
}
@Override
public void requestData() {
}
}
Actity调用
public class MainActivity extends AppCompatActivity implements implements Contractclass.Dataview
@Override
public void showBannnerDada(List<BannerBean.ResultBean> result) {
}
@Override
public void ShowDada(List<BannerBean.ResultBean> result) {
}