retrofit 英文名字是改裝的意思,也就是說他是對網(wǎng)絡(luò)請求的一種改裝,他不負(fù)責(zé)進(jìn)行網(wǎng)絡(luò)請求,他是對請求方式的一種封裝。真正進(jìn)行網(wǎng)絡(luò)請求的是okhttp。
以下所有內(nèi)容在Android Studio已經(jīng)導(dǎo)入retrofit為基礎(chǔ)。導(dǎo)入方式如下:

compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.retrofit2:converter-scalars:2.1.0'

利用Retrofit進(jìn)行簡單的GET請求

retrofit在構(gòu)建請求方式之前,需要構(gòu)建一個接口方法,通過這個接口方法的返回值,來進(jìn)行網(wǎng)絡(luò)請求。
下面,來通過一些簡單的例子了解GET請求。

實(shí)驗(yàn)一:對一個簡單的html頁面進(jìn)行GET請求

我們要獲取百度頁面的HTML。首先構(gòu)建如下接口:

public interface HtmlService { @GET("/") Call<String> getHtml();
}

注意,GET注解中的參數(shù),和方法中的參數(shù)至少要加一個,否則會報(bào)錯。由于,我們只需要請求www.baidu.com,所以get這里不需要加參數(shù),就是/
然后,我們通過如下步驟,來進(jìn)行網(wǎng)絡(luò)請求。
在我們需要進(jìn)行網(wǎng)絡(luò)請求的類中,通過以下的步驟,進(jìn)行網(wǎng)絡(luò)請求:

  1. 構(gòu)建retrofit對象。
  2. 動態(tài)代理生成接口的對象。
  3. 通過接口的方法,得到要請求的API的調(diào)用。
  4. 通過同步/異步的方式,得到response。
  5. 根據(jù)需要,處理response。

第一步

Retrofit retrofit = new Retrofit.Builder().          addConverterFactory(ScalarsConverterFactory.create()).
                baseUrl("https://www.baidu.com").
                build();

通過以上代碼,可以簡單的構(gòu)建一個retrofit對象,addConvert