Retrofit2 淺嘗輒止(1):初來(lái)乍到,Get請(qǐng)求來(lái)一套

配置Gradle


compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'

這里我們需要將請(qǐng)求回來(lái)的數(shù)據(jù)直接轉(zhuǎn)化為實(shí)體,恰巧官方提供了gson的轉(zhuǎn)換庫(kù),因此我們?cè)谝蕾噐etrofit的同時(shí),也要依賴converter-gson。在以后的文章里我會(huì)著重說(shuō)一下這個(gè)converterFactory,它其實(shí)類似于一個(gè)插件集成器,通過(guò)它,我們可以集成各種工具來(lái)解決我們開(kāi)發(fā)過(guò)程中的問(wèn)題以及實(shí)現(xiàn)需求。
<br />
廢話不多說(shuō),讓我們快速實(shí)現(xiàn)一個(gè)普通的get請(qǐng)求。

開(kāi)始一個(gè)簡(jiǎn)單請(qǐng)求


創(chuàng)建一個(gè)簡(jiǎn)單的bean

這里假設(shè)我們要請(qǐng)求apistore上的名人名言接口,因此我們創(chuàng)建了一個(gè)FamousInfo的bean

初始化Retrofit

<pre>

.baseUrl("http://apis.baidu.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();```</pre>


#### 創(chuàng)建一個(gè)接口
<pre>
```public interface FamousService {  
    @GET("/avatardata/mingrenmingyan/{path}")
    Call<FamousInfo> getFamousResult(@Path("path") String path, 
    @Header("apiKey") String apiKey,
    @Query("keyword") String keyword,
    @Query("page") int page, 
    @Query("rows") int rows);
}```</pre>

####初始化這個(gè)接口的對(duì)象

<pre>

Call<FamousInfo> callback =retrofit.create(FamousService.class)
.getFamousResult(path,apiKey,page,rows)}


####使用這個(gè)對(duì)象獲取請(qǐng)求結(jié)果

<pre>

callback.enqueue(new Callback<FamousInfo>{
@Override
public void onResponse(Call<FamousInfo> call, Response<FamousInfo> response) {
FamousInfo bean = response.body();
}
@Override
public void onFailure(Call<FamousInfo> call, Throwable t) {
Toast.makeText(context,t.toString,Toast.LENGTH_SHORT).show();
}
});```
</pre>

這樣一個(gè)簡(jiǎn)單的get請(qǐng)求就完成了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 如果看Retrofit的源碼會(huì)發(fā)現(xiàn)其實(shí)質(zhì)上就是對(duì)okHttp的封裝,使用面向接口的方式進(jìn)行網(wǎng)絡(luò)請(qǐng)求,利用動(dòng)態(tài)...
    李某人吖閱讀 2,254評(píng)論 0 0
  • 什么是Retrofit2 Retrofit是一個(gè)給Android和Java用的類型安全的HTTP客戶端,它將網(wǎng)絡(luò)請(qǐng)...
    不羈的木木閱讀 1,249評(píng)論 0 49
  • 本博客為作者原創(chuàng),如需轉(zhuǎn)載請(qǐng)注明原博客出處:WONDER'TWO 0X00 寫在前面 相信做過(guò)And...
    一只酸奶牛哇閱讀 4,501評(píng)論 9 34
  • 寫在前面## 其實(shí)一直都沒(méi)有寫博客的習(xí)慣,借著這次公司內(nèi)部分享的機(jī)會(huì),開(kāi)始寫博客,希望以后漸漸養(yǎng)成習(xí)慣。也方便以后...
    seph_von閱讀 959評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評(píng)論 19 139

友情鏈接更多精彩內(nèi)容