rxjava2 + retrofit2 + okhttp3遇到的問題

上代碼:

//手動創建一個OkHttpClient並設置超時時間
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.connectTimeout(3, TimeUnit.SECONDS);
httpClientBuilder.readTimeout(2, TimeUnit.SECONDS);
httpClientBuilder.writeTimeout(2, TimeUnit.SECONDS);
httpClientBuilder.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)).build();

Retrofit retrofit = new Retrofit.Builder()
        .client(httpClientBuilder.build())
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .baseUrl("http://alpha.xxxx.com:8021")
        .build();

INetService tService = retrofit.create(INetService.class);


Observer<AdPicResponse>  observer = new Observer<AdPicResponse>(){
    @Override
    public void onSubscribe(Disposable d){

    }
    @Override
    public void onNext(AdPicResponse value){
        
    }
    @Override
    public void onError(Throwable e){
        
    }
    @Override
    public void onComplete(){
        
    }
};


tService .loadStartInfo(params)
.subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(observer);



問題1:

E/CrashHandlerManager: 保存信息 : java.lang.IllegalArgumentException: Unable to create call adapter for 
io.reactivex.Observable<com.mxxxe.xxx.launcher.startinfo.bean.xxxResponse>
                           for method INetService.loadStartInfo
                           at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:751)
                           at retrofit2.ServiceMethod$Builder.createCallAdapter(ServiceMethod.java:236)
                           at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:161)


解決:

compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
addCallAdapterFactory(RxJava2CallAdapterFactory.create())

問題2:

NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/Platform

解決:
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.squareup.okhttp3:okhttp:3.4.1'







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章