1. 程式人生 > >retrofit2 rxjava2

retrofit2 rxjava2

網路許可權      
使用的接空是斜線引數介面


compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.squareup.retrofit2:retrofit:2.4.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.5.0'

service////////////////////////////////////////////////////////////////////////////////////////////////////////////

package com.example.retrofit2rxjava2last;

import io.reactivex.Flowable;
import retrofit2.http.GET;
import retrofit2.http.Path;

/**
 * Created by Administrator on 2018/5/19 0019.
 */
public interface ApiService {
    @GET("{type}/20/{page}")
    Flowable<AllBean>  getall(@Path("type") String type, @Path
("page") String page); }
RetrofitUtils ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package com.example.retrofit2rxjava2last;

import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;

/**
* Created by Administrator on 2018/5/19 0019. */ public class RetrofitUtils { private static volatile RetrofitUtils instance; public static RetrofitUtils getInstance(){ if(instance==null){ synchronized (RetrofitUtils.class){ if(instance==null){ instance=new RetrofitUtils(); } } } return instance; } public Retrofit getNews(){ // http://gank.io/api/data/%E7%A6%8F%E5%88%A9/10/1 String baseurl="http://gank.io/api/data/"; //日誌攔截器 HttpLoggingInterceptor interceptor=new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient okHttpClient=new OkHttpClient.Builder() .addInterceptor(interceptor) .build(); Retrofit retrofit=new Retrofit.Builder() .baseUrl(baseurl) .client(okHttpClient) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build(); return retrofit; } }

使用//////////////////////////////////////////////////////////////////////////////////////////////

RetrofitUtils retrofitUtils=new RetrofitUtils();

      retrofitUtils=RetrofitUtils.getInstance();
      retrofitUtils.getNews()
              .create(ApiService.class)
              .getall("all","1")
              .subscribeOn(Schedulers.io())
              .observeOn(AndroidSchedulers.mainThread())
              .subscribe(new DisposableSubscriber<AllBean>() {
                  @Override
public void onNext(AllBean bean) {
                      Log.d("yyy",bean.getResults().size()+"");

                /*      adapter = new RecyclerViewAdapterall(context, title);
                      mAdapter = new RecyclerAdapterWithHF(adapter);
                      mRecyclerView.setAdapter(mAdapter);*/
}
                  @Override
public void onError(Throwable t) {
                  }
                  @Override
public void onComplete() {
                      Log.d("yyy","onComplete");
                  }
              });

相關推薦

淺談Retrofit2+Rxjava2

uniq urn == enqueue ret build stat result lis 近幾年,Retrofit猶如燎原之火搬席卷了整個Android界。要是不懂Retrofit,簡直不好意思出門。。。由於近幾個項目都沒用到Retrofit,無奈只能業余時間自己擼一下,

安卓專案實戰之:最實用的Retrofit2+RxJava2+MVP框架搭建,避免各種記憶體洩漏

工程目錄結構 目前網上的mvp框架大多存在以下問題: 1,Presenter持有View的引用,容易導致出現記憶體洩漏 MvpPresenter mvpPresenter = new MvpPresenter(this); // 不推薦這樣寫,持有activty引用,容易出現

封裝Retrofit2+RxJava2網路請求框架

因為Retrofit方便使用和支援RxJava,所以Retrofit已經成為了非常流行的網路框架。學會封裝和使用Retrofit網路請求框架練練手是提升自己架構水平一個非常好的示例。而且當成功封裝第一個元件時,再次遇到需要封裝元件這樣的任務也會變得得心應手。 1、封裝的主要

Retrofit2+Rxjava2聯網的封裝

前言 開發過程中,一般都會對網路框架進行再次封裝,以配置各種引數,並適合自己的編碼風格。各種網路框架比較下來,還是Retrofit2+Rxjava2看著最爽,今天把這個東西整理了一下,發出來,示例給出了一般寫法和MVP的寫法。 Retrofit2+Rxj

Retrofit2+Rxjava2+OKHttp3+RxAndroid 實現網路請求的demo案例

在之前的專案中一直都用著比較老的網路框架,比如volly,okgo,okhttp等等,平時寫demo 的時候偶爾也會用到新的框架拿來練練手,這兩天寫了一個關於retrofit2的案例,分享出來。 大牛們恐怕已經寫到爛的了,有不足請多多指教。 demo開始前,先匯

retrofit2 rxjava2

網路許可權 使用的接空是斜線引數介面 compile 'io.reactivex.rxjava2:rxjava:2.0.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.squareu

Android網路請求Retrofit2+Rxjava2+Okhttp3的簡單封裝

前言:Retrofit2+Rxjava2+Okhttp3的網路請求框架無疑是當前最流行的網路請求方式,retrofit負責請求的資料結果,rxjava負責執行緒間的排程,okhttp負責資料請求的過程,Retrofit2+Rxjava2+Okhttp3三者完美的切合使得其功能

Retrofit2+Rxjava2如何主動取消網路請求

近期在新專案中使用了Retrofit2+Rxjava2+Mvp的框架,在搭建的過程中想到一個問題,困擾了我兩天。Retrofit2+Rxjava2如何主動去取消網路請求。 在單獨使用Retrofit2中,我們可以通過呼叫Call的cancel();方法 主動去

Retrofit2+Rxjava2+okHttp 網路框架封裝

說明 RxJava的概念其實很模糊,我對它的理解就是一個給你方便處理非同步問題的框架,到底有多方便,體會過才知道。。。 Retrofit就是對okhttp做了一層封裝。把網路請求都交給給了Okhttp,我們只需要通過簡單的配置就能使用retrofit來進行網路請求了,Re

RxJava2+Retrofit2+OkHttp3遇到的問題

剛開始玩這個。遇到的問題記錄下做個筆記。 問題1.transformResourcesWithMergeJavaResForDebug Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDeb

Demo:側滑刪除+Fresco+rxjava2+retrofit2

1. // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositorie

Retrofit2.0和RxJava2.0的簡單封裝

一、首先新增專案依賴: implementation "com.squareup.okhttp3:logging-interceptor:$var.loggingInterceptor"

RxJava2 + Retrofit2 處理data為null的情況

最近專案中使用了RxJava2+ Retrofit2框架,框架基本都是統一封裝HttpBean,使用map操作符轉化資料,然後根據code碼的邏輯去處理業務,開發過程中遇到一個問題,伺服器返回的json資料格式為{"code": 200, "data": null, "message": nul

簡單MVP+RxJava2+Retrofit2 搭建一個屬於自己的開發框架

一:序言 2016年安卓熱門詞彙MVP,RxJava,Retrofit。時隔一年這些框架依然是很常用的,現在來把這幾個關鍵詞整合起來,搭建一個快速開發框架。。。 二: MVP是什麼? 對於一些剛學安卓的朋友們應該還不是太熟悉,我們先來溫習一下吧!   這

RxJava2+Retrofit2+okHttp的二次封裝

專案Demo已經上傳至github連結本人android小白一枚,在學習android的過程中,我感受很深,在做了這麼多練手的專案之後,我覺得android就像一塊畫板,畫板是白紙,作為android的開發人員,要做的就是運用一切可能,去在畫板上畫出讓人看的懂並且美觀的畫。說

RxJava2+Retrofit2網路請求框架封裝及使用

最近把RxJava2和Retrofit2學習了一下,並做了一個簡單的封裝,算是對學習的總結,以及以後的做專案時可以,可以拿來及用。 注意:本篇不說RxJava2 和 Retrofit2的基礎使用,只梳理一下封裝的步驟,所以適合對RxJava2 和 Retrofit2有一定的

Android中使用RecyclerView+RxJava2+Retrofit2+Butterkinfe8.5.1實現簡單的新聞列表顯示

Android中實現簡單的新聞列表 在剛開始寫CSDN的時候,寫過一篇 Android中通過ListView實現簡單的新聞列表 最近看到有很多剛開始學習Android的同學需要原始碼。不好意思的是,那個例子的原始碼已經不在了。 所以這裡重新寫一篇並且附

Rxjava2+Retrofit2網路框架傻瓜式接入指南

前言 本文主要是介紹本人在專案中接入Rxjava2和Retrofit2的過程中的一些經驗心得、遇到的問題,特別是本人的學習曲線,希望能幫助到你。主要的概念介紹涉及較少,但是在文中會給出我在接入的過程中參考過的文章。 之所以把Rxjava2放在前面是因為,我最開始的時候只想接

Android:這是一份非常詳細的MVP+Rxjava2.0+Retrofit2.0相結合舉例RecyclerView的實戰篇章

MVP+Rxjava2.0+Retrofit2.0現在是非常火的組合 MVP相信大家已經在各大網站和各大佬的文章中已經瞭解很多理論的理解了 MVP其實就是M層請求資料 在P層裡進行M層和V層的互動 V層得到資料後展示資料 比如說豺狼媽媽去捕食 捕到食物後

Android前端RxJava2+Retrofit2;後端SpringMvc實現圖片上傳

前言 因為前端使用的rxjava+retrofit+mvp的架構進行實現,因此考慮著圖片上傳的功能也直接用rxjava+retrofit去實現,結果在使用過程中,發現始終有問題,圖片上不去;測試了幾天,嘗試更新成rxjava2+retrofit2進行測試