RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
来源:互联网 发布:java 泛型 t ? 编辑:程序博客网 时间:2024/05/24 06:51
背景
在实际运用中上传是一个必不可少的功能,所以我们在封装二的基础上加入上传的功能,同时需要附带上传进度!
效果
实现
1.定义service接口
注意:Multipart是指定大文件上传过程中的标示,一般上传图片的过程中我们需要附带信息,所以我们需要用到@part指定传递的数值,MultipartBody.Part是指定传递的文件;
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
2.加入进度条
retrofit是基于okhttp的处理,所以我们可以自定义RequestBody,复写writeTo(BufferedSink sink)方法,得到传递的进度数据
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
3自定义接口,回调progress进度
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
4创建RequestBody对象,加入进度
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
5.传递附带信息
和封装二中post请求的方式一样,我们需要继承baseentity,复写里面的方法,然后设置需要传递的参数,因为是测试接口,所以我的参数直接写死在entity里面,part文件动态指定
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
6.post请求处理
请求和封装二中的请求一样,通过传递一个指定的HttpOnNextListener 对象来回调来监听结果信息,一一对应
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
终极封装专栏
RxJava+Retrofit+OkHttp深入浅出-终极封装专栏)
源码
传送门-源码地址
建议
如果你对这套封装有任何的问题和建议欢迎加入QQ群告诉我!
阅读全文
0 0
- RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
- Rxjava+ReTrofit+okHttp深入浅出-终极封装三(文件上传)
- RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
- RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
- Rxjava+ReTrofit+okHttp深入浅出-终极封装
- RxJava+Retrofit+OkHttp 深入浅出-终极封装一
- RxJava+Retrofit+OkHttp深入浅出-终极封装二(网络请求)
- RxJava+Retrofit+OkHttp深入浅出-终极封装七(异常处理)
- RxJava+Retrofit+OkHttp深入浅出-终极封装二(网络请求)
- RxJava+Retrofit+OkHttp深入浅出-终极封装七(异常处理)
- RxJava+Retrofit+OkHttp深入浅出-终极封装二(网络请求)
- RxJava+Retrofit+OkHttp深入浅出-终极封装二(网络请求)
- RxJava+Retrofit+OkHttp深入浅出-终极封装七(异常处理)
- RxJava+Retrofit+OkHttp深入浅出-终极封装四(多文件下载之断点续传)
- RxJava+Retrofit+OkHttp深入浅出-终极封装四(多文件下载之断点续传)
- RxJava+Retrofit+OkHttp深入浅出-终极封装五(数据持久化)
- RxJava+Retrofit+OkHttp深入浅出-终极封装六特殊篇(变种String替换Gson自由扩展)
- Rxjava+ReTrofit+okHttp深入浅出-终极封装特殊篇(替换Gson返回)
- MOOC清华《程序设计基础》第2章:猜数游戏(from 1 to n)
- Android Failed to resolve: com.android.support:appcompat-v7:23.0.2
- jquery 兼容ie7 图片按需加载
- mongo打开关闭balance
- Linux学习第五篇--系统开关机及常用命令
- RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
- 计算机视觉caffe之路第三篇:CIFAR-10数据集训练及预测实例
- hihocoder :补提交卡
- Krpano学习:视频音频播放
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- 欢迎使用CSDN-markdown编辑器
- 用户登录接口(重点是python对excel文件的读写操作)
- 注册域名前,你必须想明白的4个重要问题
- 《软件工程》学习总结要求