public class OkHttpManager { private final OkHttpClient okHttpClient; private static Handler handler; private static OkHttpManager smanager; HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY); private OkHttpManager(){ okHttpClient = new OkHttpClient.Builder() .addInterceptor(interceptor) .writeTimeout(1000, TimeUnit.SECONDS) .readTimeout(1000,TimeUnit.SECONDS) .connectTimeout(1000,TimeUnit.SECONDS) .build(); handler = new Handler(); } public static OkHttpManager getInstance(){ if(smanager==null){ smanager = new OkHttpManager(); } return smanager; } public interface Func1{ void onResponse(String reqult); } private static void onSuccessJsonStringMethod(final String jsonValue,final Func1 callBack){ handler.post(new Runnable() { @Override public void run() { if(callBack!=null){ callBack.onResponse(jsonValue); } } }); } public void asyncJsonStringByURL(final String url,final Func1 callBack){ Request request = new Request.Builder().url(url).build(); okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { onSuccessJsonStringMethod(response.body().string(),callBack); } }); } }
二次封装okhttp
最新推荐文章于 2025-06-05 11:20:16 发布