okHttp单例封装
来源:互联网 发布:淘宝我的空间怎么设置 编辑:程序博客网 时间:2024/06/08 07:34
此为okhttp封装的单例工具类,及泛型回调,结合了mvp模式package com.bwie.test.Utils;import android.os.Handler;import android.os.Message;import com.bwie.test.View.CallBackResult;import com.google.gson.Gson;import java.io.IOException;import okhttp3.Call;import okhttp3.Callback;import okhttp3.FormBody;ssssimport okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;/** * User: Moyuchen * Date: 2017-10-26 14:50 * Description: */public class NetWorkOkHttp { private static NetWorkOkHttp netWorkOkHttp; private OkHttpClient client; private final Handler handler; private NetWorkOkHttp(){ client=new OkHttpClient.Builder().addInterceptor(new LoggingInterceptor()) .build(); handler = new Handler(); } //单例模式 public static NetWorkOkHttp getInstance(){ if (netWorkOkHttp==null) { synchronized (NetWorkOkHttp.class){ if (netWorkOkHttp==null) { netWorkOkHttp=new NetWorkOkHttp(); } } } return netWorkOkHttp; } public<T> void getData(String url, final CallBackResult callBackResult, final Class<T> tclass){ FormBody.Builder builder = new FormBody.Builder(); RequestBody requestbody = builder.build(); Request request=new Request.Builder().url(url).post(requestbody).build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { callBackResult.onFailure("请求失败"); } @Override public void onResponse(Call call, Response response) throws IOException { if ( response.isSuccessful()) { String string = response.body().string(); Gson gson=new Gson(); final T t = gson.fromJson(string, tclass); final Message msg = Message.obtain(); msg.obj=t; handler.post(new Runnable() { @Override public void run() { callBackResult.onResponse(msg.obj); } }); } } }); }}此为公共的接口,添加泛型package com.bwie.test.View;/** * User: Moyuchen * Date: 2017-10-26 14:48 * Description: */public interface CommonView<T> { void OnFailure(String msg); void OnResponse(T t);}
阅读全文
0 0
- okHttp单例封装
- OKHTTP的单例和再封装
- Okhttp的单例模式封装
- okhttp二次封装+单例模式+拦截器
- OKHTTP的单例封装与自定义拦截器
- OKHttp单例模式
- Android 单例模式 封装 Okhttp + RxJava 网络请求(get和post)
- OKHttp的单例模式
- okhttp封装okhttp-utils
- 封装OKHttp
- 封装OkHttp
- okhttp封装
- 封装OKHttp
- 封装OKHttp
- Okhttp封装
- OkHttp 封装
- OkHttp封装
- OKHttp封装
- UART串口通信
- mysql数据库操作(二)
- BZOJ4256 推箱子
- vim 宏
- 获取文件信息
- okHttp单例封装
- JDK环境的搭建
- {A} + {B}
- 【网易】射击游戏
- 3从控制台输入三个数,并输出最大值
- 信号集操作函数,信号未决、阻塞、递达
- 多种模块拔号上网驱动开发调试
- Hello World图形用户界面
- artTemplate模板引擎