创建Model
public class ShowModel {
public void getNet(final ShowListenerSuccess showListenerSuccess, String indx, String index2){
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(loggingInterceptor)
.build();
Retrofit build = new Retrofit.Builder().baseUrl(Api.SHOW)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
ApiService apiService = build.create(ApiService.class);
Observable<ShowBean> observable = apiService.getShow(indx, index2);
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<ShowBean>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(ShowBean showBean) {
showListenerSuccess.showSucdess(showBean);
}
});
}
}
创建Presenter类
public class ShowPresenter implements ShowListenerSuccess{
private ShowListener showListener;
private final ShowModel model;
public ShowPresenter(ShowListener showListener){
this.showListener = showListener;
model = new ShowModel();
}
public void relevance(String index,String index2){
model.getNet(this,index,index2);
}
@Override
public void showSucdess(ShowBean showBean) {
showListener.showView(showBean);
}
}
创建View接口
public interface ShowListener {
public void showView(ShowBean showBean);
}
成功回调接口
public interface ShowListenerSuccess {
public void showSucdess(ShowBean showBean);
}
创建Activity
public class MainActivity extends AppCompatActivity implements ShowListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ShowPresenter presenter = new ShowPresenter(this);
presenter.relevance("index","index");
}
@Override
public void showView(ShowBean showBean) {
String id = showBean.getData().getAdlist().get(0).getId();
Toast.makeText(this, ""+id, Toast.LENGTH_SHORT).show();
}
}