package bawei.com.fjb.fengjiabaoyuekao.model; import android.support.annotation.MainThread; import android.util.Log; import android.view.View; import bawei.com.fjb.fengjiabaoyuekao.entity.HomeEntity; import bawei.com.fjb.fengjiabaoyuekao.utils.RetrofitUtils; import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; public class HomeModel implements IHomeModel{ @Override public void requestData(final requestListener requestListener) { RetrofitUtils.getInstance().getiApi() .getData() .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Observer<HomeEntity>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(HomeEntity homeEntity) { Log.i("aaa",homeEntity.getData().toString()); requestListener.onsuccess(homeEntity); } @Override public void onError(Throwable e) { requestListener.faile(e.getMessage()); } @Override public void onComplete() { } }); } }
package bawei.com.fjb.fengjiabaoyuekao.model; import bawei.com.fjb.fengjiabaoyuekao.entity.HomeEntity; public interface IHomeModel { interface requestListener{ void onsuccess(HomeEntity homeEntity); void faile(String msg); } void requestData(requestListener requestListener); }
V
package bawei.com.fjb.fengjiabaoyuekao.view; import bawei.com.fjb.fengjiabaoyuekao.entity.HomeEntity; public interface HomeView { void getData(HomeEntity homeEntity); }
P
package bawei.com.fjb.fengjiabaoyuekao.presenter; public interface IHomePresenter { void getData(); }
package bawei.com.fjb.fengjiabaoyuekao.presenter; import android.util.Log; import android.view.View; import bawei.com.fjb.fengjiabaoyuekao.entity.HomeEntity; import bawei.com.fjb.fengjiabaoyuekao.model.HomeModel; import bawei.com.fjb.fengjiabaoyuekao.model.IHomeModel; import bawei.com.fjb.fengjiabaoyuekao.view.HomeView; public class HomePresenter implements IHomePresenter{ private HomeView homeView; private HomeModel homeModel; public HomePresenter(HomeView homeView) { this.homeView = homeView; this.homeModel=new HomeModel(); } @Override public void getData() { homeModel.requestData(new IHomeModel.requestListener() { @Override public void onsuccess(HomeEntity homeEntity) { homeView.getData(homeEntity); } @Override public void faile(String msg) { Log.i("aaa",msg+""); } }); } }