Retrofit是Square公司開發的一款針對Android網路請求的框架,遵循Restful設計風格,底層基於OkHttp。
功能:
build.gradle(Module)
:
dependencies {
...
implementation `com.squareup.retrofit2:retrofit:2.9.0`
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation `com.squareup.retrofit2:converter-scalars:2.9.0`
// Retrofit如需對RxJava的支持, 需要添加此依賴
implementation "com.squareup.retrofit2:adapter-rxjava3:2.9.0"
...
}
AndroidManifest.xml
:
<uses-permission android:name="android.permission.INTERNET"/>
步驟:
將HTTP API轉換為Java接口。ApiService.java
public interface ApiService {
@GET("/user/info")
Call<String> requestInfo();
}
@GET
、@POST
、@PUT
、@DELETE
。@FormUrlEncoded
、@Multipart
、@Streaming
。@Header
、@Headers
、@Body
、@Field
、@FieldMap
、@Part
、@PartMap
、@Query
、@QueryMap
、@Path
、@Url
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https:/api.github.com/") // 設置網路請求的公共URL地址
.addConverterFactory(GsonConverterFactory.create()) // 設置數據解析器
.addCallAdapterFactory(RxJavaCallAdapter.Factory.create()) // 支持RxJava功能
.build();
ApiService service = retrofit.create(ApiService.class);