网络请求框架网络请求框架

package com.example.administrator.cinemavideo.utils;

 

import com.example.administrator.cinemavideo.api.ApiService;

import com.example.administrator.cinemavideo.api.ApiServiceVar;

import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;

 

import java.util.logging.Handler;

 

import okhttp3.OkHttpClient;

import okhttp3.logging.HttpLoggingInterceptor;

import retrofit2.Retrofit;

import retrofit2.converter.gson.GsonConverterFactory;

 

 

public class HttpUtils {

 

    private static volatile HttpUtils instance;

    private final Retrofit retrofit;

 

    private HttpUtils(){

 

        //拦截器

        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();

        interceptor.setLevel(HttpLoggingInterceptor.Level.BASIC);

        OkHttpClient build = new OkHttpClient.Builder()

                .addInterceptor(interceptor)

                .build();

 

        retrofit = new Retrofit.Builder()

                .baseUrl(ApiServiceVar.API_URL)

                .client(build)

                .addConverterFactory(GsonConverterFactory.create())

                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())

                .build();

    }

 

    public static HttpUtils getInstance() {

 

        if(instance == null){

            synchronized (HttpUtils.class){

                if(null == instance){

                    instance = new HttpUtils();

                }

            }

        }

 

        return instance;

    }

 

    public ApiService getApiService(){

        return retrofit.create(ApiService.class);

    }

 

}


相关文章:

  • 2021-11-25
  • 2021-05-01
  • 2021-08-15
  • 2021-11-25
  • 2021-04-03
  • 2021-04-14
  • 2021-08-09
  • 2021-10-09
猜你喜欢
  • 2021-09-19
  • 2021-07-07
  • 2021-09-16
  • 2021-04-15
  • 2021-06-30
  • 2021-06-12
  • 2021-11-07
相关资源
相似解决方案