Android Retrofit基础掌握

——当你没有钱,拿什么去发展事业,拿什么去享受生活

目录

前言

一、简介

(1)是什么

(2)有什么用

二、怎么用

三、原理

四、内容推荐


前言

        许久没写总结了,之前学过的东西也都忘的差不多。今天抽空复习下之前的笔记。

一、简介

github地址:GitHub

(1)是什么

——是一个okhttp网络请求框架的封装。

(2)有什么用

——对okhttp进行拓展:

1.解耦 通过注解获取网络请求参数 

2.支持Rxjava.Gson

3......

 

二、怎么用

步骤:

(1)添加依赖

 implementation "com.squareup.retrofit2:retrofit:2.9.0"

(2)创建Retrofit

Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://api.github.com/")
                .build();

(3)创建用于描述网络请求的接口

//获取API 
GitHubService service = retrofit.create(GitHubService.class);
//定义 网络API 地址
public interface GitHubService {
    @GET("users/{user}/repos")
    Call<List<User>> getData(@Path("user") String user);
}

(4)创建Call对象/网络请求接口实例

Call<List<User>> call= service.getData("user");

(5)发送请求获取数据​​​​​​​

        //异步
        call.enqueue(new Callback<List<User>>() {
            @Override
            public void onResponse(Call<List<User>> call, Response<List<User>> response) {
                //处理请求数据
            }

            @Override
            public void onFailure(Call<List<User>> call, Throwable throwable) {

            }
        });
        //同步
        try {
            Response<List<User>> execute = call.execute();
            execute.body().toString();
        } catch (IOException e) {
            e.printStackTrace();
        }

(6)总结

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://api.github.com/")
                .build();

        GitHubService service = retrofit.create(GitHubService.class);

        Call<List<User>> call = service.getData("octocat");

        call.enqueue(new Callback<List<User>>() {
            @Override
            public void onResponse(Call<List<User>> call, Response<List<User>> response) {}
            @Override
            public void onFailure(Call<List<User>> call, Throwable throwable) {}
        });
        try {
            Response<List<User>> execute = call.execute();
            execute.body().toString();
        } catch (IOException e) {
            e.printStackTrace();
        }

 

三、原理

这一块就不献丑 ,推荐一篇更详细的解说 https://www.jianshu.com/p/0c055ad46b6c

四、内容推荐

若您发现文章中存在错误或不足的地方,希望您能指出!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值