Android网络请求库RetrofitUtils
程序员文章站
2022-05-13 23:53:17
"RetrofitUtils" "GitHub地址,帮忙给个Star" 项目介绍 Retrofit+Okhttp辅助类的简单封装,vesion 1.0.X 实现了Get,Post Form、Post Json 三种形式的网络请求,后续版本会实现文件上传下载and各类raw的请求方式。 功能 1. G ......
项目介绍
Retrofit+Okhttp辅助类的简单封装,vesion 1.0.X 实现了Get,Post-Form、Post-Json
三种形式的网络请求,后续版本会实现文件上传下载and各类raw的请求方式。
功能
- Get
- Post表单
- PostJson
后续版本待实现功能
- 文件上传下载(开发中...)
- 拦截器
- RxJava+Retrofit+Okhttp
- 考虑去掉loading(丑且无用),是否把所用到的第三方库打包进库中
使用说明
1. 引用
implementation 'cn.cyq.net:retrofitutils:1.0.3' <!--library中引用了下面五个库,我没有打包进去了,避免版本冲突,比如七牛云的okio okhttp冲突--> //网络请求依赖 implementation 'com.squareup.okio:okio:1.14.0' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-scalars:2.3.0' //Loader依赖 implementation 'com.wang.avi:library:2.1.3'
2. 初始化
在Application的onCreate()初始化
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); RestClient.init(getApplicationContext(), "baseUrl address"); } }
3. 具体请求
Get
RestClient.buider() .loader(this)//可以不添加 .url(url) .success(new ISuccess() { @Override public void onSuccess(String response) { Log.i("test", "GET请求:" + response); } }) .failure(new IFailure() { @Override public void onFailure() { Log.i("test", "失败"); } }) .error(new IError() { @Override public void onError(int code, String msg) { Log.i("test", "错误"); } }) .build() .get();
Post表单
RestClient.buider() .loader(this) .url(url) .params("key1", "value1") .params("key2", "value2") .success(new ISuccess() { @Override public void onSuccess(String response) { Log.i("test", "POST请求:" + response); } }) .failure(new IFailure() { @Override public void onFailure() { Log.i("test", "失败"); } }) .error(new IError() { @Override public void onError(int code, String msg) { Log.i("test", "错误"); } }) .build() .post();
Post Json
String jsonStr = "{\"username\":\"张三\",\"age\":16}"; RestClient.buider().loader(this) .url("http://192.168.0.1:8080/service/jsontest.html") .raw(jsonStr) .success(new ISuccess() { @Override public void onSuccess(String response) { Toast.makeText(MainActivity.this, response, Toast.LENGTH_LONG).show(); Log.i("test", "Post Row请求:" + response); } }) .error(new IError() { @Override public void onError(int code, String msg) { Log.i("test", "Post Ro请求失败"); } }) .build() .post();
说明
- vesion 1.0.X 是初期版本,不建议在正式项目使用,后续会完善...
引用的库及版本
ps:2018-07-26[最新]
- com.squareup.retrofit2:converter-scalars:2.3.0
- com.squareup.okio:okio:1.14.0
上一篇: Java跨语言调用,使用JNA访问Java外部接口
下一篇: MySql 8.0 安装调试
推荐阅读
-
Android Retrofit和Rxjava的网络请求
-
Android 网络请求框架Volley实例详解
-
Android网络请求框架Retrofit详解
-
Android 搭建MVP+Retrofit+RxJava网络请求框架解析
-
Android网络请求库android-async-http介绍
-
Android开发基础之网络请求实例
-
Android 单例模式封装 RxJava+Retrofit 网络请求
-
Android使用 Coroutine + Retrofit打造简单的HTTP请求库
-
Android 9.0 应用请求http请求无法访问网络
-
Android开发之HttpClient网络请求以Json方式提交Post请求代码