Android Retrofit基础掌握

    技术2025-09-25  88

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

    目录

    前言

    一、简介

    (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

    四、内容推荐

    《》《简书》《Android Jetpack组件之架构组件总结》《Android Jetpack架构组件之Lifecycle源码分析》《Android ButterKnife入门到放弃》《Android 网络请求框架okhttp学习笔记》

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

    Processed: 0.008, SQL: 9