前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android网络请求库之Retrofit

Android网络请求库之Retrofit

作者头像
八归少年
发布2022-06-29 15:30:03
4820
发布2022-06-29 15:30:03
举报
文章被收录于专栏:program

介绍

  • Retrofit是Square公司基于RESTful风格推出的网络框架封装。Retrofit是基于OKHttp的网络请求框架的二次封装,其本质仍是OKHttp。

对比

  • AndroidAsnyHttp。
  • 基于HTTPClient,作者已经停止维护,Android5.0不再使用HTTPClient,因此不推荐使用。
  • Volley。
  • 基于HttpUrlConnection,Google官方推出,只适合轻量级网络交互如数据传输小,不适合大文件上传下载场景。

优点

  • API设计简洁易用。
  • 注解化配置高度解耦。
  • 支持多种解析器、支持Rxjava。

使用

代码语言:javascript
复制
//生成接口对象
UserMgrService userMgrService = retrofit.create(UserMgrService.class);
  1. 调用接口方法返回Call对象。
代码语言:javascript
复制
//调用接口方法
Call<UserInfoModel> zhangsan = userMgrService.login("张三", "123456");
  1. 发送请求(同步、异步)。
  • 同步:调用Call对象的execute(),返回结果的响应体。
  • 异步:调用Call对象的enqueue(),参数是一个回调。
代码语言:javascript
复制
zhangsan.enqueue(new Callback<UserInfoModel>() {
            @Override
            public void onResponse(Call<UserInfoModel> call, Response<UserInfoModel> response) {
                int code = response.code();
                int code1 = response.body().code;
            }

            @Override
            public void onFailure(Call<UserInfoModel> call, Throwable t) {

            }
        });
  1. 处理返回数据。

总结

  • Retrofit是基于OKHttp网络库的高级封装,采用注解、网络请求参数配置更灵活,扩展性更好,RESTful风格的API优先选用Retrofit。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 对比
  • 优点
  • 使用
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档