封装okhttp工具类

xiaoxiao2025-05-28  27

public class HttpUtiles { public HttpUtiles(){}; private static HttpUtiles okHttpUtils; public static HttpUtiles getOkHttpUtils(){ if(okHttpUtils==null){ okHttpUtils = new HttpUtiles(); } return okHttpUtils; } public HttpUtiles get(String url){ final Message message= Message.obtain(); Interceptor interceptor = new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); RequestBody body = request.body(); String method = request.method(); Log.i("Http", "intercept: "+body+"==="+method); return chain.proceed(request); } }; OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Request request = new Request.Builder().url(url).build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { message.what=100; message.obj=e.getMessage(); handler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { message.what=101; message.obj=response.body().string(); handler.sendMessage(message); } }); return this; } public HttpUtiles post(String url, RequestBody body){ final Message message= Message.obtain(); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .post(body).url(url).build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { message.what=100; message.obj=e.getMessage(); handler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { message.what=101; message.obj=response.body().string(); handler.sendMessage(message); } }); return this; } private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 101://成功 String data= (String) msg.obj; listener.success(data); break; case 100://失败 String error= (String) msg.obj; listener.fail(error); break; } } }; private Http.HttpListener listener; public void result(Http.HttpListener listener){ this.listener=listener; } public interface HttpListener{ void success(String data); void fail(String error); } }
转载请注明原文地址: https://www.6miu.com/read-5030850.html

最新回复(0)