public class OkHttp3Utils { private static OkHttpClient okHttpClient; //私有化的构造器 private OkHttp3Utils(){} public static OkHttpClient getInstance() { if(okHttpClient==null) { synchronized (OkHttp3Utils.class) { //缓存的目录 File sd_cache=new File(Environment.getExternalStorageDirectory(),"ok_cache"); //缓存存储的大小 int cacheSize=1024*1024*10; //OkHttp3拦截器 okHttpClient=new OkHttpClient.Builder() .writeTimeout(30, TimeUnit.SECONDS) .readTimeout(30,TimeUnit.SECONDS) .connectTimeout(60,TimeUnit.SECONDS) .cache(new Cache(sd_cache,cacheSize)) .build(); } } return okHttpClient; } //get请求 public static void doGet(String url, Callback callback) { OkHttpClient okHttpClient=getInstance(); //创建Request Request request=new Request.Builder() .url(url) .build(); Call call=okHttpClient.newCall(request); call.enqueue(callback); } //post请求 public static void doPost(String url, Map<String, String> params, Callback callback) { OkHttpClient okHttpClient=getInstance(); FormBody.Builder builder=new FormBody.Builder(); if(params!=null) { for(String key:params.keySet()) { builder.add(key,params.get(key)); } } Request request=new Request.Builder() .post(builder.build()) .url(url) .build(); Call call=okHttpClient.newCall(request); call.enqueue(callback); } }
OkHttp3Utils
最新推荐文章于 2021-07-19 22:43:05 发布