Retrofit网络库使用笔记

  • Retrofit网络库介绍
    - Retrofit是Square公司基于Restful风格推出的网络框架的封装
    - Retrofit与OKHttp的关系
    Retrofit是基于OKHttp的网络请求框架的二次封装,其本质仍然是OKHttp
    - Retrofit库包结构
    不到40个类的对OKHttp的封装
    - 与其他网络库对比在这里插入图片描述
    在这里插入图片描述

  • Retrofit优点
    在这里插入图片描述

  • Retrofit网络库使用

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 常用参数注解
    在这里插入图片描述

在这里插入图片描述

  • JSON解析格式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 案例

由于Retrofit升级,Gson转换框架需要单独引入

在这里插入图片描述

/**
     * 登录
     */
    public void login(View view){

        // 创建Retrofit对象
        Retrofit retrofit = new Retrofit.Builder().baseUrl("")
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        // 获取接口对象
        UserMgrService userMgrService = retrofit.create(UserMgrService.class);

        // 调用我们登录的方法
        final Call<UserInfoModel> call = userMgrService.login("jiayuanfa","123456");

        // 真正发送请求(同步)
//        try {
//            new Thread(new Runnable() {
//                @Override
//                public void run() {
//                    Response<UserInfoModel> response = null;
//                    try {
//                        response = call.execute();
//                        Log.d("result", ":" + response.body());
//                    }catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//            }).start();
//        }catch (Exception e){
//            e.printStackTrace();
//        }

        // 发送异步请求 他们再内部开启线程池请求数据 主动在请求完毕的时候 通过主线程回调给我们数据
        call.enqueue(new Callback<UserInfoModel>() {
            @Override
            public void onResponse(Call<UserInfoModel> call, Response<UserInfoModel> response) {
                Log.d("result", " " + response.body());
            }

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

            }
        });
    }
  • 总结
  • Retrofit是基于OKHttp网络库的高级封装
  • 采用注解,网络请求方式更加灵活,扩展性能更好
  • RESTFul风格的API优先选择Retrofit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值