NetCallBack 泛型封装 + okhttputils封装
来源:互联网 发布:php代码转asp 编辑:程序博客网 时间:2024/05/17 03:09
!!!注意NetCallBack 泛型封装 和 okhttputils封装不要写在一个类中! public interface NetCallBack<T> { void successNet(T t); void errorNet(String errorMsg, int errorCode);} okhttputils封装public class OkHttpUtils { private NetCallBack callBack; private static final int OK = 0; private Handler mHandler = new Handler(); //get请求 public <T> void getLoadData(String url, final NetCallBack callBack, final Class<T> tClass) { this.callBack = callBack; LoggingInterceptor loggingInterceptor=new LoggingInterceptor(); OkHttpClient okHttpClient = new OkHttpClient.Builder() .addInterceptor(loggingInterceptor) .readTimeout(20, TimeUnit.SECONDS) .connectTimeout(10, TimeUnit.SECONDS) .build(); final Request request = new Request.Builder().url(url).build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { callBack.errorNet(e.getMessage(), 498); } @Override public void onResponse(Call call, Response response) throws IOException { T t = new Gson().fromJson(response.body().string(), tClass); final Message msg = Message.obtain(); msg.what = OK; msg.obj = t; mHandler.post(new Runnable() { @Override public void run() { callBack.successNet(msg.obj); } }); } }); } //post请求 public <T> void getLoadDataPost(String url, final NetCallBack callBack, final Class<T> tClass, RequestBody body) { this.callBack = callBack; OkHttpClient okHttpClient = new OkHttpClient.Builder() .readTimeout(20, TimeUnit.SECONDS) .connectTimeout(10, TimeUnit.SECONDS) .build(); final Request request = new Request.Builder().url(url).post(body).build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { callBack.errorNet(e.getMessage(), 499); } @Override public void onResponse(Call call, Response response) throws IOException { T t = new Gson().fromJson(response.body().string(), tClass); final Message msg = Message.obtain(); msg.what = OK; msg.obj = t; mHandler.post(new Runnable() { @Override public void run() { callBack.successNet(msg.obj); } }); } }); } }
阅读全文
1 0
- NetCallBack 泛型封装 + okhttputils封装
- okhttputils封装
- 封装封装OkHttpUtils
- Okhttputils终极封装
- 简单okHttpUtils封装
- OkHttpUtils进一步的封装
- OkHttpUtils的封装
- OkHTTPUTILS的封装
- 已封装了的OkHttpUtils
- OkHttpUtils - 封装了okhttp的网络框架
- OkHttpUtils - 封装了okhttp的网络框架
- OkHttpUtils - 封装了okhttp的网络框架
- OkHttpUtils - 封装了okhttp的网络框架
- 超简单的okHttpUtils封装(下)
- okhttpUtils的简单使用以及封装
- 基于OkHttpUtils再次封装代码最简化
- 鸿洋大神封装的okhttputils拿走不谢!
- 基于OkHttpUtils网络请求的二次封装(简单版)
- 小米智能家居又一猛料:小米扫地机器人本月亮相? | 新智造
- bzoj3198 [Sdoi2013]spring 哈希表+容斥
- 苹果人工智能的未来,将靠这15家收购企业支撑
- Educational Codeforces Round 31
- 电子信息工程考研:12大专业方向解读
- NetCallBack 泛型封装 + okhttputils封装
- JQuery遍历表格按条件选择框筛选显示隐藏表格
- Java_字符串匹配算法总结
- linux rpm安装,及效验解释
- 周六加班中读了一篇“男人挣多少钱,能够承担起一个家”即感
- 可凝儿DIO系列 弹嫩丝滑润体乳
- 人多的地方WiFi不给力?MIT研发了这样一款神器
- 5大布局方式
- iOS开发细节 | "if else" VS "if return"