Retrofit+RXjava网关文件/图片上传下载(支持单图/

2020-10-15  本文已影响0人  feng_斩月

依赖

      // retrofit https://github.com/square/retrofit
      "retrofit"                             : "com.squareup.retrofit2:retrofit:2.6.1",
      "retrofit-rxjava2"                     : "com.squareup.retrofit2:adapter-rxjava2:2.6.1",
      "retrofit-gson"                        : "com.squareup.retrofit2:converter-gson:2.6.1",

OkHttpClient初始化

    public static OkHttpClient.Builder getFileOkHttpClientGatewayBuilder(Context context) {
        File cacheFile = new File(AppManager.getContext().getCacheDir(), "cache");
        Cache cache = new Cache(cacheFile, 1024 * 1024 * 100); //100Mb
        return new OkHttpClient.Builder()
                .readTimeout(Constants.DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                .connectTimeout(Constants.DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
                .retryOnConnectionFailure(true)
                .addInterceptor(new UploadGatewayInterceptor())
                .cookieJar(new HybCookieJar())
                .cache(cache);
    }

Retrofit.Builder

    public static Retrofit.Builder getFileApiGatewayService(Context context, String baseUrl) {
        OkHttpClient okHttpClient = getFileOkHttpClientGatewayBuilder(context).build();
        return new Retrofit.Builder()
                .client(okHttpClient)
                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create());
    }
上一篇 下一篇

猜你喜欢

热点阅读