——当你没有钱,拿什么去发展事业,拿什么去享受生活
前言
许久没写总结了,之前学过的东西也都忘的差不多。今天抽空复习下之前的笔记。
一、简介
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
四、内容推荐
若您发现文章中存在错误或不足的地方,希望您能指出!