安卓中RxJava和Retrofit示例代码 向右看齐 2022-04-15 06:10 140阅读 0赞 Retrofit网络请求框架详细请浏览: [https://square.github.io/retrofit/][https_square.github.io_retrofit] Retrofit案例: [https://blog.csdn.net/qq\_40881680/article/details/82797370][https_blog.csdn.net_qq_40881680_article_details_82797370] ## Rxjava2 + Retrofit2 依赖 ## 导入依赖: implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.3.0' implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' implementation 'io.reactivex.rxjava2:rxjava:2.2.3' 加入网络权限 <uses-permission android:name="android.permission.INTERNET"/> ## 代码案例 ## 我们要请求 [http://www.qubaobei.com/ios/cf/dish\_list.php?stage\_id=1&limit=20&page=1][http_www.qubaobei.com_ios_cf_dish_list.php_stage_id_1_limit_20_page_1] 这个地址的字符串 (1) 先写出一个JavaBean解析类,之后写出以下接口 public interface MyInterface { @GET("dish_list.php?stage_id=1&limit=20") Observable<JavaBean> getResult(@Query("page") int page); } (2) 接下来就是最主要的java代码了 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://www.qubaobei.com/ios/cf/")//字符串请求地址 .addConverterFactory(GsonConverterFactory.create())//Gson解析 .addCallAdapterFactory(RxJava2CallAdapterFactory.create())//Rxjava2 .build(); MyInterface myInterface = retrofit.create(MyInterface.class);//创建接口 myInterface.getResult(1)//调用myInterface中的getResult方法,传入int类型数值 .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread())//主线程 .subscribe(new Observer<JavaBean>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(JavaBean javaBean) { //请求成功调用 } @Override public void onError(Throwable e) { //请求失败调用 } @Override public void onComplete() { } }); -------------------- 注意使用Rxjava的时候,导包都是io下的 import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import retrofit2.Retrofit; import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory; 这就是简单的RxJava+Retrofit请求网络 [https_square.github.io_retrofit]: https://square.github.io/retrofit/ [https_blog.csdn.net_qq_40881680_article_details_82797370]: https://blog.csdn.net/qq_40881680/article/details/82797370 [http_www.qubaobei.com_ios_cf_dish_list.php_stage_id_1_limit_20_page_1]: http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1
还没有评论,来说两句吧...