My Shopping
来源:互联网 发布:阿里云邮箱人工客服 编辑:程序博客网 时间:2024/06/01 21:06
MVP:P:public class NewPresnter implements Basepresenter{ private IView iv; private DefaultSubscriber<WelfareBean> subscriberWel; private DefaultSubscriber<AllBean> subscriberAll; private DefaultSubscriber<IsoBean> subscriberIos; private DefaultSubscriber<AndroidBean> subscriberAndroid; public void attach(IView iv){ this.iv=iv; } public void dettach(){ if(iv!=null){ iv=null; } if(subscriberAll!=null){ subscriberAll=null; } if(subscriberAndroid!=null){ subscriberAndroid=null; } if(subscriberWel!=null){ subscriberWel=null; } if(subscriberIos!=null){ subscriberIos=null; } } @Override public void getAndroid(HashMap<String, Integer> map) { NewModel model = new NewModel(this); model.getAndroid(map); } @Override public void getIos(HashMap<String, Integer> map) { NewModel model = new NewModel(this); model.getIos(map); } @Override public void getAll(HashMap<String, Integer> map) { NewModel model = new NewModel(this); model.getAll(map); } @Override public void getWelfare(HashMap<String, Integer> map) { NewModel model = new NewModel(this); model.getWelfare(map); } public void setAndroid(Flowable<AndroidBean> bean) { subscriberAndroid = bean.subscribeOn(Schedulers.io()).observeOn(Schedulers.newThread()).subscribeWith(new DefaultSubscriber<AndroidBean>() { @Override public void onNext(AndroidBean androidBean) { iv.successAndroid(androidBean); } @Override public void onError(Throwable t) { iv.failed(t.getMessage()); } @Override public void onComplete() { } }); } public void setIos(Flowable<IsoBean> bean) { subscriberIos = bean.subscribeOn(Schedulers.io()).observeOn(Schedulers.newThread()).subscribeWith(new DefaultSubscriber<IsoBean>() { @Override public void onNext(IsoBean isoBean) { iv.successIos(isoBean); } @Override public void onError(Throwable t) { iv.failed(t.getMessage()); } @Override public void onComplete() { } }); } public void setAll(Flowable<AllBean> bean) { subscriberAll = bean.subscribeOn(Schedulers.io()).observeOn(Schedulers.newThread()).subscribeWith(new DefaultSubscriber<AllBean>() { @Override public void onNext(AllBean allBean) { iv.successAll(allBean); } @Override public void onError(Throwable t) { iv.failed(t.getMessage()); } @Override public void onComplete() { } }); } public void setWelfare(Flowable<WelfareBean> bean) { subscriberWel = bean.subscribeOn(Schedulers.io()).observeOn(Schedulers.newThread()).subscribeWith(new DefaultSubscriber<WelfareBean>() { @Override public void onNext(WelfareBean welfareBean) { iv.successWelfare(welfareBean); } @Override public void onError(Throwable t) { iv.failed(t.getMessage()); } @Override public void onComplete() { } }); }}M:public class NewModel implements BaseModel{ private NewPresnter presenter; public NewModel(NewPresnter presnter){ this.presenter=presnter; } @Override public void getAndroid(HashMap<String, Integer> map) { Flowable<AndroidBean> flowable = RetrofitUtils.getInstance().getAndroidBean(map); presenter.setAndroid(flowable); } @Override public void getIos(HashMap<String, Integer> map) { Flowable<IsoBean> flowable = RetrofitUtils.getInstance().getIsoBean(map); presenter.setIos(flowable); } @Override public void getAll(HashMap<String, Integer> map) { Flowable<AllBean> flowable = RetrofitUtils.getInstance().getAllBean(map); presenter.setAll(flowable); } @Override public void getWelfare(HashMap<String, Integer> map) { Flowable<WelfareBean> flowable = RetrofitUtils.getInstance().getWelfareBean(map); presenter.setWelfare(flowable); }}MyRetrofit:public interface MyRetrofit { @GET("api/data/Android/{num}/{page}") Flowable<AndroidBean> getAndroid(@Path("num") int num,@Path("page") int page); @GET("api/data/iOS/{num}/{page}") Flowable<IsoBean> getIos(@Path("num") int num, @Path("page") int page); @GET("api/data/福利/{num}/{page}") Flowable<WelfareBean> getWelfare(@Path("num") int num, @Path("page") int page); @GET("api/data/all/{num}/{page}") Flowable<AllBean> getAll(@Path("num") int num, @Path("page") int page);}RetrofitUtils:public class RetrofitUtils { private static volatile RetrofitUtils instance; private final MyRetrofit retrofit1; private RetrofitUtils(){ Log.d("zzz","111"); OkHttpClient client = new OkHttpClient.Builder().build(); Retrofit retrofit=new Retrofit.Builder().client(client).baseUrl("http://gank.io/").addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()).build(); retrofit1 = retrofit.create(MyRetrofit.class); } public static RetrofitUtils getInstance(){ if(instance==null){ synchronized (RetrofitUtils.class){ if(null==instance){ instance=new RetrofitUtils(); } } } return instance; } public Flowable<AndroidBean> getAndroidBean(HashMap<String,Integer> map){ return retrofit1.getAndroid(map.get("num"),map.get("page")); } public Flowable<IsoBean> getIsoBean(HashMap<String,Integer> map){ return retrofit1.getIos(map.get("num"),map.get("page")); } public Flowable<WelfareBean> getWelfareBean(HashMap<String,Integer> map){ return retrofit1.getWelfare(map.get("num"),map.get("page")); } public Flowable<AllBean> getAllBean(HashMap<String,Integer> map){ return retrofit1.getAll(map.get("num"),map.get("page")); }}
阅读全文
0 0
- My Shopping
- My Shopping(2)
- shopping
- shopping
- Shopping
- Shopping
- shopping
- Shopping
- Shopping 购物
- Shopping feast
- shopping list
- Shopping Offers
- [ACM]Shopping
- Shopping Offers
- HK shopping
- codeforces_665B. Shopping
- Beg-Shopping
- [bzoj4182]Shopping
- Hadoop YARN 内存和CPU两种资源的调度
- +=
- darwin之数据包管理
- 深入浅出K-Means算法
- Android常见的内存溢出OOM
- My Shopping
- jdbc连接mysql数据库简单代码
- Python时间,日期,时间戳之间转换
- 白盒测试与黑盒测试的联系与区别
- 安卓热修复—阿里Sophix
- 基于深度学习的目标检测学习总结
- 盗墓笔记到底讲了什么故事???-带你领会终极和它
- Future 原理模拟
- 【学习cmake】CMake初步使用教程