MVP模擬

M層模擬

public class ShowModel {
    ShowPImp showPInter;
    public ShowModel(ShowPImp showPInter) {
        this.showPInter=showPInter;
    }


    /*
        * 獲取網絡數據的方法
        * */
    public void getData(String baseUrl) {
        //https://www.zhaoapi.cn/product/getCarts?uid=2776&&token=0FD73B33D357A6A30ACD546FE320D828&&source=android
        Map<String, String> params = new HashMap<>();
        params.put("uid","4123");
        params.put("source","android");
        RetrofitHelper.getApiService(baseUrl).post("product/getCarts",params)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<String>() {
                    @Override
                    public void onCompleted() {


                    }


                    @Override
                    public void onError(Throwable e) {


                    }


                    @Override
                    public void onNext(String s) {
                        Gson gson = new Gson();
                        MyCartBean myCartBean = gson.fromJson(s, MyCartBean.class);
                        Log.d("+++++++","數據"+s);
                        showPInter.onSuccess(myCartBean);
                    }
                });
    }


}

P層

public interface ShowPImp  {


    void onSuccess(MyCartBean myCartBean);
    void onError();

}

public class ShowPresenter implements ShowPImp {
    ShowVImp showVImp;


    public ShowPresenter(ShowVImp showVImp) {
        this.showVImp = showVImp;
    }


    /*
     * 調model層方法
     * */
    public void getData(String base_url) {
        ShowModel sm = new ShowModel(this);
        sm.getData(base_url);


    }


    @Override
    public void onSuccess(MyCartBean myCartBean) {
        showVImp.onSuccess(myCartBean);
    }


    @Override
    public void onError() {


    }

}

V層

public interface ShowVImp {


    void onSuccess(MyCartBean myCartBean);
    void onError();




}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章