——當你沒有錢,拿什么去發展事業,拿什么去享受生活
前言
許久沒寫總結了,之前學過的東西也都忘的差不多。今天抽空復習下之前的筆記。
一、簡介
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();
}
三、原理
這一塊就不獻丑 ,推薦一篇更詳細的解說 http://www.lxweimin.com/p/0c055ad46b6c
四、內容推薦
若您發現文章中存在錯誤或不足的地方,希望您能指出!