Retrofit+RxJava的联合使用
来源:互联网 发布:sketch软件 编辑:程序博客网 时间:2024/06/05 20:53
接口
public interface Api { /** * http://www.waqu.com * /v4/user/subscribedItems2.json? * platform=and&appName=general_video& * sid=861945036834301&profile=general_child * &partner=21160138&appVersion=3.9.2&brand=Xiaomi&model=MI+5&osVersion=24&size=10 */ @GET("/v4/user/subscribedItems2.json?\n" + "platform=and&appName=general_video&\n" + "sid=861945036834301&profile=general_child\n" + "&partner=21160138&appVersion=3.9.2&brand=Xiaomi&model=MI+5&osVersion=24") Observable<Fragmentone_Data> getString(@Query("size") int size); @GET("/v4/user/qudanSubscribed.json?\n" + "platform=and&appName=general_video&sid=861945036834301\n" + "&profile=general_child&partner=21160138&appVersion=3.9.2\n" + "&brand=Xiaomi&model=MI+5&osVersion=24&start=0&recommType=recomm") Observable<FragmentTwo_Data> geStringTwo(@Query("size") int size); @GET("/v4/user/trends.json?platform=\n" + "and&appName=general_video&sid=861945036834301\n" + "&profile=general_child&partner=21160138&appVersion=3.9.2\n" + "&brand=Xiaomi&model=MI+5&osVersion=24&start=0") Observable<FragmentThree_Data> getStringThree(@Query("size") int size);}
Retrofit和RxJava一起使用:
private void initdata() { Retrofit retrofit=new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .baseUrl(HttpParams.HTTP_HOST) .build(); Api api=retrofit.create(Api.class); Observable<Fragmentone_Data> observable=api.getString(size); observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(this, new Consumer<Throwable>() { @Override public void accept(@NonNull Throwable throwable) throws Exception { Log.e("flag", "--------------------->accept: 数据请求失败"); } }); } @Override public void accept(@NonNull Fragmentone_Data fragmentone_data) throws Exception { line_bottom.setVisibility(View.GONE); if(fragmentone_data!=null){ for (int i = 0; i <fragmentone_data.getData().size() ; i++) { data.add(fragmentone_data.getData().get(i)); } adapter.notifyDataSetChanged(); } }
或者这样 .subscribe(this, new Consumer() {}方法中不用this这个参数.然后就不重写失败的方法:
private void initData(final State state) { Api.getApiService().getItem() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer<Tuijian>() { @Override public void accept(@NonNull final Tuijian tuijian) throws Exception { //TODO这里面是得到的数据的处理...... } }); }
阅读全文
0 0
- Retrofit+RxJava的联合使用
- Retrofit+RxJava的联合使用
- Okhttp+Retrofit+Rxjava+MVP联合使用
- Retrofit+RxJava的使用
- Retrofit+RXJava的使用
- Retrofit + RxJava 的结合使用
- Retrofit + RxJava的配合使用
- RXJava+retrofit的使用尝试
- MVP+Rxjava+Retrofit的使用
- Rxjava+Retrofit的简单使用
- Retorfit+RxJava的联合使用
- 使用Retrofit和RxJava的生命周期管理
- Android中的RxJava,Retrofit,MVP的使用
- Rxjava 和 Retrofit 的封装使用
- Rxjava与retrofit的网络访问使用
- 【Android - 框架】之Retrofit+RxJava的使用
- Retrofit和RxJava的结合使用
- 优雅的使用MVP+RxJava+Retrofit框架
- 配置Linux Kernel时make menuconfig执行流程分析
- codeforces 813C The Tag Game
- oracle——expdp与impdp备份使用方法
- bootsrap学习笔记(一)<div>块如何水平居中
- 【持续更新】【cmd】cmd命令大全(2017年6月9日09:37:53)
- Retrofit+RxJava的联合使用
- Eclipse安装Svn无法连接问题
- Linux 下 fork, vfork,和clone的区别
- ECharts图表中修改每个category的颜色
- js中使用splice删除数组中某一项或几项的几种方法
- UnresolvableModelException
- freemarker模板格式化数字
- js常用代码
- 大于2T磁盘分区