Android 网络请求Rxjava+Retrofit简单使用,随机获取美女图片Demo

编程入门 行业动态 更新时间:2024-10-10 15:25:43

Android 网络请求Rxjava+Retrofit<a href=https://www.elefans.com/category/jswz/34/1770983.html style=简单使用,随机获取美女图片Demo"/>

Android 网络请求Rxjava+Retrofit简单使用,随机获取美女图片Demo

Demo源码地址:

资料

json数据请求:

json在线解析:
/

Retrofit官方地址

相关资料:

1.添加依赖

    def retrofit_version = "2.1.0"def rxjava_version = "2.0.1"//RxJava的依赖包implementation 'io.reactivex.rxjava2:rxjava:' + rxjava_version//RxAndroid的依赖包implementation 'io.reactivex.rxjava2:rxandroid:' + rxjava_version//Rxjava + retrofit 用到的一个依赖库,使接口回调的数据以Rxjava形式供我们接受implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0-RC3'//retrofig依赖包implementation 'com.squareup.retrofit2:retrofit:' + retrofit_version//自动将服务器返回的数据 以及 我们传给一个JavaBeen实体,转换成jsonimplementation 'com.squareup.retrofit2:converter-gson:' + retrofit_version//gson实体解析库implementation 'com.google.code.gson:gson:2.6.2'//OKHttp日志拦截器,OKHttp官方提供。implementation 'com.squareup.okhttp3:logging-interceptor:3.3.0'

2.使用GsonFormat创建Bean对象

3.创建回调接口

package com.example.zhangyu.myretrofit2.Bean;import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;public interface GankApi {/*** 数据类型:福利 | Android | iOS | 休息视频 | 拓展资源 | 前端* 个数: 数字,大于0** @param type* @param size* @return*/@GET("api/random/data/{type}/{size}")Call<RandomData> getRandomData(@Path("type") String type,@Path("size") String size);@GETObservable<RandomData> getRandomDataRx(@Url String url);
}

4.Retrofit(不用Rxjava)

  private void getData() {Retrofit retrofit = new Retrofit.Builder().baseUrl("/").addConverterFactory(GsonConverterFactory.create()).build();GankApi gankApi = retrofit.create(GankApi.class);Call<RandomData> data = gankApi.getRandomData("福利", "10");data.enqueue(new Callback<RandomData>() {@Overridepublic void onResponse(Call<RandomData> call, Response<RandomData> response) {//textView.setText(response.body().toString());List<RandomData.ResultsBean> results = response.body().getResults();//Toast.makeText(context, ""+results.toString(), Toast.LENGTH_SHORT).show();getResults(results);}@Overridepublic void onFailure(Call<RandomData> call, Throwable t) {}});}

5.Retrofit+Rxjava

 private void getDataRx() {Retrofit retrofit = new Retrofit.Builder().baseUrl("/").addConverterFactory(GsonConverterFactory.create())//用到Rxjava的时候,需要加入这个.addCallAdapterFactory(RxJava2CallAdapterFactory.create()).build();GankApi gankApi = retrofit.create(GankApi.class);Observable<RandomData> randomDataRx = gankApi.getRandomDataRx("");randomDataRx.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<RandomData>() {@Overridepublic void accept(RandomData randomData) throws Exception {List<RandomData.ResultsBean> results = randomData.getResults();getResults(results);}});}

参考

常用的几种注解
retrofit添加header的几种方式

更多推荐

Android 网络请求Rxjava+Retrofit简单使用,随机获取美女图片Demo

本文发布于:2024-03-04 04:02:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1708217.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:简单   美女   图片   网络   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!