Rxjava


  compile 'com.jakewharton:butterknife:8.5.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.squareup.retrofit2:retrofit:2.0.2'
    compile 'com.squareup.retrofit2:converter-gson:2.0.2'
    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
    compile 'io.reactivex:rxandroid:1.1.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    compile 'com.facebook.fresco:fresco:0.11.0'
    compile 'com.github.bumptech.glide:glide:3.6.1'

Api

public class Api {
    //http://120.27.23.105/product/getCarts
    public static final String URL = "http://120.27.23.105/";
}

ApiService

public interface ApiService {
@GET("product/getCarts")
    Observable<SupperInfo> getGoods(@Query("uid") String uid);
}

M层:Model

public class Model implements IModel {
    @Override
    public void getGoods(String uid, final IPersenter iPersenter) {//getGoods是IModel中的
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(Api.URL)
                .addConverterFactory(GsonConverterFactory.create(new Gson()))
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();

        ApiService apiService = retrofit.create(ApiService.class);

        Observable<SupperInfo> observable = apiService.getGoods(uid);

        observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<SupperInfo>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {
                        if (iPersenter!=null){
                            iPersenter.onFailed(e.getMessage());
                        }
                    }

                    @Override
                    public void onNext(SupperInfo listBean) {
                        if (iPersenter!=null){
                            iPersenter.onSuccess(listBean);
                        }
                    }
                });
    }
}

————————

新增:

public interface IModel {
    void getGoods(String uid, IPersenter iPersenter);
}
public interface IPersenter {
    void onSuccess(Object o);
    void onFailed(String s);
    void getGoods(String uid);
    void onDestory();
}
public class Persenter implements IPersenter {
    private IMainActivity iMainActivity;
    Model model;
    public Persenter(IMainActivity iMainActivity) {
        this.iMainActivity = iMainActivity;
        model = new Model();
    }

    @Override
    public void onSuccess(Object o) {
        if (iMainActivity!=null){
            iMainActivity.onSuccess(o);
        }
    }

    @Override
    public void onFailed(String s) {
        if (iMainActivity!=null){
            iMainActivity.onFailed(s);
        }
    }

    @Override
    public void getGoods(String uid) {
        model.getGoods(uid,this);
    }

    @Override
    public void onDestory() {
        if (iMainActivity!=null){
            iMainActivity=null;
        }
    }
}
public interface IMainActivity {
    void onSuccess(Object o);
    void onFailed(String s);
}



 private Persenter persenter;
  persenter = new Persenter(this);
  persenter.getGoods("" + i);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值