Android网络请求库RetrofitUtils
RetrofitUtils
项目介绍
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:retrofit:2.4.0
- com.squareup.okhttp3:okhttp:3.10.0
- com.wang.avi:library:2.1.3
- com.squareup.retrofit2:converter-scalars:2.3.0
- com.squareup.okio:okio:1.14.0
Android网络请求库RetrofitUtils的更多相关文章
- 浅论Android网络请求库——android-async-http
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Insta ...
- Android进阶笔记02:Android 网络请求库的比较及实战(二)
一.Volley 既然在android2.2之后不建议使用HttpClient,那么有没有一个库是android2.2及以下版本使用HttpClient,而android2.3及以上版本 ...
- Android进阶笔记01:Android 网络请求库的比较及实战(一)
在实际开发中,有的时候需要频繁的网络请求,而网络请求的方式很多,最常见的也就那么几个.本篇文章对常见的网络请求库进行一个总结. 一.使用HttpUrlConnection: 1. HttpUrlCon ...
- android 网络请求库的比较
源码请戳 一. 现有库和选择的库 HttpURLConnection:是Java中的标准类,是对Java中socket的封装. Httpclient:是Apache的开源框架,是对HttpURLCon ...
- android网络请求库volley方法详解
使用volley进行网络请求:需先将volley包导入androidstudio中 File下的Project Structrue,点加号导包 volley网络请求步骤: 1. 创建请求队列 ...
- Android 网络请求库volley的封装,让请求更方便
首先封装一下volley 请求 public class CustomRequest extends StringRequest { private static final String TAG = ...
- [转]Android各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Android之网络请求库
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Android 各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
随机推荐
- 异步加载的JS如何在chrome浏览器断点调试?
我们常常利用chrome强大的控制台Sources下面进行代码断点调试,但是通过$.getScript等异步加载JS的方式在Sources里面就是找不到,那如何进行debug断点调试呢? 方案一: 在 ...
- easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法
easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法 /*easyui,鼠标划过悬浮,显示一个小提示框的方法*/ function toopTip(idOrClass,showText) ...
- Android自定义View创建流程
Android的framework提供了很多高质量的view,有时业务需求需要自定义View,其实现流程大致如下: 1.在values/attrs.xml中定义支持的自定义属性,示例如下:
- Python基础5:列表 元祖 字典 集合 Json
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- Web开发常用在线工具
http://tool.oschina.net/ 爬去网页工具: http://www.keydatas.com/product
- sql_auoload_regiester() 解释(转载)
在了解这个函数之前先来看另一个函数:__autoload. 一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数.看下面例子: 运行index.P ...
- [LeetCode] Level Order Traversal
题目说明 Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to r ...
- cookie和session的区别,session的生命周期,
这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...
- gitlab+jenkins+hook代码自动构建发布上线
Gitlab+Jenkins+Hook 1.gitlab和jenkins的安装见: http://www.cnblogs.com/cuishuai/p/7544663.html http://www. ...
- 用imageMagick合成图片添加图片水印
用imageMagick合成图片的方式大致有三种, 使用convert命令加 +append或-append参数 使用convert命令加 -composite参数 直接使用composite命令来完 ...