public class OkHttpUtils { private OkHttpUtils okHttpUtils; static OkHttpClient client; public static OkHttpClient getInstance(){ if (client == null) { synchronized (OkHttpUtils.class){ if (client == null) { File file=new File(Environment.getExternalStorageDirectory()+"client"); client=new OkHttpClient().newBuilder() .cache(new Cache(file,10*1024*1024)) .connectTimeout(3000, TimeUnit.SECONDS) .readTimeout(3000,TimeUnit.SECONDS) .writeTimeout(3000,TimeUnit.SECONDS) .build(); } } } return client; } public static void doGet(String url, Callback callback){ OkHttpClient instance = getInstance(); Request request=new Request.Builder() .url(url) .build(); instance.newCall(request).enqueue(callback); }; public static void doPost(String url, Map<String,String> params, Callback callback){ OkHttpClient instance = getInstance(); FormBody.Builder form=new FormBody.Builder(); for (String in:params.keySet() ) { form.add(in,params.get(in)); } Request request=new Request.Builder() .url(url) .post(form.build()) .build(); instance.newCall(request).enqueue(callback); }; }
OkHttp二次封装,单例模式
最新推荐文章于 2021-08-09 11:23:34 发布