package com.example.test_demo.utils; import android.os.Handler; import java.io.IOException; import java.util.Map; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.logging.HttpLoggingInterceptor; /** * Created by john on 2018/5/29. */ public class OkHttpUtils { private static OkHttpUtils okHttpUtils; private final OkHttpClient okHttpClient; private final Handler handler; private OkHttpUtils(){ okHttpClient = new OkHttpClient.Builder() .addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)) .build(); handler = new Handler(); } public static OkHttpUtils getInStance(){ if (okHttpUtils==null){ okHttpUtils=new OkHttpUtils(); } return okHttpUtils; } public void doGet(String url,final Callback callback){ Request request=new Request.Builder() .url(url).build(); okHttpClient.newCall(request).enqueue(new okhttp3.Callback() { @Override public void onFailure(final Call call, IOException e) { if (callback!=null){ handler.post(new Runnable() { @Override public void run() { callback.faile("请求失败"); } }); } } @Override public void onResponse(Call call, Response response) throws IOException { if (callback!=null){ if (response.isSuccessful()&&response.code()==200){ final String string = response.body().string(); handler.post(new Runnable() { @Override public void run() { callback.success(string); } }); } } } }); } public void doPost(String url, Map<String,String> params, final Callback callback){ FormBody.Builder builder=new FormBody.Builder(); for (Map.Entry<String, String> entry : params.entrySet()) { builder.add(entry.getKey(),entry.getValue()); } Request request=new Request.Builder() .url(url).post(builder.build()).build(); okHttpClient.newCall(request).enqueue(new okhttp3.Callback() { @Override public void onFailure(final Call call, IOException e) { if (callback!=null){ handler.post(new Runnable() { @Override public void run() { callback.faile("请求失败"); } }); } } @Override public void onResponse(Call call, Response response) throws IOException { if (callback!=null){ if (response.isSuccessful()&&response.code()==200){ final String string = response.body().string(); handler.post(new Runnable() { @Override public void run() { callback.success(string); } }); } } } }); } public interface Callback{ void success(String result); void faile(String msg); } }
OkHttp(加日志拦截器)
最新推荐文章于 2025-03-08 20:57:00 发布