基于Retrofit2+OkHttp封装的Android网络操作库RetrofitClient
来源:互联网 发布:国产羽绒服 知乎 编辑:程序博客网 时间:2024/05/21 14:43
基于Retrofit2+OkHttp封装的Android网络操作库RetrofitClient
- 基于Retrofit2OkHttp封装的Android网络操作库RetrofitClient
- 概述
- 在app或lib级别的buildgradle文件中添加依赖
- 在MainApplication中初始化
- 自动义请求回调
- 使用
概述
本文主要介绍网络库RetrofitClient的使用方法,这个库封装基本的GET、POST、PUT、DELET请求和文件上传下载方法,只需三步,快速集成。
github地址:https://github.com/Jadyli/RetrofitClient
1 在app或lib级别的build.gradle文件中添加依赖
compile 'com.jady:retrofitclient:0.2.6'
2 在MainApplication中初始化
HttpManager.init(this, UrlConfig.BASE_URL);HttpManager.getInstance().setOnGetHeadersListener(new HttpManager.OnGetHeadersListener() { @Override public Map<String, String> getHeaders() { Map<String, String> headers = new HashMap<>(); headers.put("access_token", "1234"); return headers; }});
init(Context context, String baseUrl)方法用来传项目的基础url,当然具体的请求也可以动态修改。
另一个是所有请求都需要添加的的请求头,比如accessToken
,deviceKey
这种。
3 自动义请求回调
参考:
1.ServerCallback
2.CommonCallback
具体封装过程参考我的另一篇文章android使用gson和泛型解析服务器回调的封装。
使用
参考:
1.实例中的API类
2.实例中的BaseRequestFragment类
GET请求
API.testGet(new CommonCallback<Feed>() { @Override public void onSuccess(Feed feed) { tvBaseRequestGet.setText(feed.getContent); } @Override public void onFailure(String error_code, String error_message) { }});
不使用baseUrl
:
HttpManager.getFullPath(String fullUrl, Map<String, Object> parameters, HttpCallback callback)
POST请求
API.testPost(name, password, new ServerCallback<ServerCallbackModel<String>, String>() { @Override public void onSuccess(String accessToken) { showToast("accessToken:" + accessToken); } @Override public void onFailure(String error_code, String error_message) { } /** * 对单个请求允许Toast显示错误信息 */ @Override public boolean enableShowToast() { return true; }});
不使用baseUrl
:
HttpManager.postFullPath(String fullUrl, Map<String, Object> parameters, HttpCallback callback)
post对象,以json传输
HttpManager.postByBody(String url, T body, HttpCallback callback)
PUT请求
API.testPut(putContent, new ServerCallback<ServerCallbackModel<Object>, Object>() { @Override public void onSuccess(Object o) { showToast("更新成功"); } @Override public void onFailure(String error_code, String error_message) { showToast("更新失败,请检查token"); }});
DELETE请求
API.testDelete(1,new ServerCallback<ServerCallbackModel<Object>, Object>() { @Override public void onSuccess(Object o) { showToast("删除成功"); } @Override public void onFailure(String error_code, String error_message) { showToast("删除失败,请检查token"); }});
文件上传
单文件上传:
HttpManager.uploadFile(String url, String filePath, String fileDes, TransformProgressListener iProgress)
多文件上传:
HttpManager.uploadFiles(String url, List<String> filePathList, TransformProgressListener iProgress)
如果需要临时改变baseUrl
,只需要在发送请求之前调用
HttpManager.setTmpBaseUrl("http://192.168.0.127:8080/retrofitclientserver/");HttpManager.get(UrlConfig.USER_INFO, null, callback);
如果需要临时添加请求头,需要在发送请求前调用:
HttpManager.addTmpHeaders(headers); HttpManager.get(UrlConfig.USER_INFO, null, callback);
具体使用方法可以参考库中的demo。
欢迎star和指正:https://github.com/Jadyli/RetrofitClient
欢迎关注我的公众号,三七文档库:
阅读全文
0 0
- 基于Retrofit2+OkHttp封装的Android网络操作库RetrofitClient
- 基于Retrofit2.0 封装的超好用的RetrofitClient
- Android基于Retrofit2.0 +RxJava 封装的超好用的RetrofitClient工具类(六)
- Android基于Retrofit2.0 封装的超好用的RetrofitClient工具类(完美结合RxJava)
- 简单实现RxJava2+Okhttp+Retrofit2的网络请求框架封装
- 基于okhttp封装网络库 (1)
- 基于 okhttp 封装网络库 (2)
- 基于okhttp封装网络库 (3)
- Rxjava2和Retrofit2网络库的封装
- Android 基于OkHttp的UI层回调封装
- Android:网络层的封装(使用OkHttp)
- Android中okhttp网络请求的封装
- Android 网络操作库 okhttp
- Android通用网络操作的封装:HttpUrlConnection 和 OkHttp [学习笔记]
- Android封装OkHttp网络请求
- Android OkHttp的封装
- 使用Retrofit2封装适用于组件化项目的网络库
- 使用Retrofit2封装适用于组件化项目的网络库
- AES加密
- 常用正则表达式
- SignalR推送服务
- 【转】【WPF】IvalueConverter和TypeConverter
- html和jQuery常用的选择器
- 基于Retrofit2+OkHttp封装的Android网络操作库RetrofitClient
- fragment 理解
- JSP用正则表达式删除新闻内容中嵌入的图片信息
- 学习笔记——atoi函数的用法及用C语言实现atoi
- Canal之配置
- github设置添加SSH
- java关于try、catch、finally中的细节分析
- 《苏菲的世界》——读书笔记
- gulp-重构你的gulpfile