Android Retrofit简介

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

前言

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

一、简介

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> getData(@Path("user") String user);
}

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

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

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

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

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

            }
        });
        //同步
        try {
            Response> 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> call = service.getData("octocat");

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

三、原理

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

四、内容推荐

  • 《CSDN》《》
  • 《Android Jetpack组件之架构组件总结》
  • 《Android 网络请求框架okhttp学习笔记》

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

你可能感兴趣的:(Android Retrofit简介)