Retrofit 基本用法

app/build.gradle添加依賴

    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
  1. 根據(jù)json文件創(chuàng)建 用于接收服務(wù)器返回數(shù)據(jù) 的類
  2. 創(chuàng)建 用于描述網(wǎng)絡(luò)請求 的接口
public interface BookSearch_interface {
    // @Query 用于 @GET 方法的查詢參數(shù)(Query = Url 中 ‘?’ 后面的 key-value)
    @GET("book/search")
    Call<BookSearchResponse> getSearchBooks(@Query("q") String name,
          @Query("tag") String tag, @Query("start") int start,
          @Query("count") int count);

}
  1. 完成請求操作
private void requestBooks(){

        // 創(chuàng)建Retrofit對象
        Retrofit retrofit=new Retrofit.Builder()
                .baseUrl("https://api.douban.com/v2/")
                //設(shè)置使用Gson解析
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        // 創(chuàng)建 網(wǎng)絡(luò)請求接口 的實例
        BookSearch_interface service=retrofit.create(BookSearch_interface.class);

        //對 發(fā)送請求 進(jìn)行封裝
        Call<BookSearchResponse> call=service.getSearchBooks("小王子", "", 0, 3);

        // 異步 發(fā)送網(wǎng)絡(luò)請求
        call.enqueue(new Callback<BookSearchResponse>() {
            @Override
            public void onResponse(Call<BookSearchResponse> call, Response<BookSearchResponse> response) {
                Log.d(TAG, "onResponse");
                //Log.d(TAG,response.body().toString());

                for(int i=0;i<response.body().books.size();i++){
                    if(i==0){
                        Log.d(TAG,"count : "+response.body().count);
                        Log.d(TAG,"start : "+response.body().start);
                        Log.d(TAG,"total : "+response.body().total);
                    }
                    Log.d(TAG,"books author : "+response.body().books.get(i).author[0]);
                    Log.d(TAG,"books origin_title : "+response.body().books.get(i).origin_title);
                    Log.d(TAG,"books pubdate : "+response.body().books.get(i).pubdate);
                }

            }

            @Override
            public void onFailure(Call<BookSearchResponse> call, Throwable t) {
                Log.d(TAG,"onFailure");
                t.printStackTrace();
            }
        });
    }
  1. 查看結(jié)果
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: onResponse
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: count : 3
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: start : 0
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: total : 849
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books author : [法] 圣氨钛郏克蘇佩里
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books origin_title : Le Petit Prince
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books pubdate : 2003-8
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books author : (法)圣把闵纾克蘇佩里
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books origin_title : 
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books pubdate : 2000-9-1
03-03 14:38:18.046 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books author : 圣艾修伯里
03-03 14:38:18.047 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books origin_title : 
03-03 14:38:18.047 9985-9985/com.shpun.retrofitokhttprxjavatest D/MainActivity: books pubdate : 2006-1

以上是GET的用法所坯,POST的要在定義接口時使用注解@FormUrlEncoded
@POST("")

@Field
其他使用方法則類似


參考博客
Retrofit 2.0 使用教程
Retrofit用法詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末解恰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子浙于,更是在濱河造成了極大的恐慌护盈,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羞酗,死亡現(xiàn)場離奇詭異腐宋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)檀轨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門胸竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人参萄,你說我怎么就攤上這事卫枝。” “怎么了讹挎?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵校赤,是天一觀的道長。 經(jīng)常有香客問我淤袜,道長痒谴,這世上最難降的妖魔是什么衰伯? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任铡羡,我火速辦了婚禮,結(jié)果婚禮上意鲸,老公的妹妹穿的比我還像新娘烦周。我一直安慰自己,他們只是感情好怎顾,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布读慎。 她就那樣靜靜地躺著,像睡著了一般槐雾。 火紅的嫁衣襯著肌膚如雪夭委。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天募强,我揣著相機(jī)與錄音株灸,去河邊找鬼。 笑死擎值,一個胖子當(dāng)著我的面吹牛慌烧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸠儿,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屹蚊,長吁一口氣:“原來是場噩夢啊……” “哼厕氨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起汹粤,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤命斧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嘱兼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冯丙,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年遭京,在試婚紗的時候發(fā)現(xiàn)自己被綠了胃惜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡哪雕,死狀恐怖船殉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斯嚎,我是刑警寧澤利虫,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站堡僻,受9級特大地震影響糠惫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钉疫,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一硼讽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牲阁,春花似錦固阁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凌唬,卻和暖如春并齐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背客税。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工况褪, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人霎挟。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓窝剖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酥夭。 傳聞我的和親對象是個殘疾皇子赐纱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,126評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理脊奋,服務(wù)發(fā)現(xiàn),斷路器疙描,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 《莊子》解诚隙,每章一讀。 文: 魯君聞顏闔得道之人也起胰,使人以幣先焉久又。顏闔守陋閭,苴布之衣而自飯1牛效五。魯君之使者至地消,顏...
    千里飄蓬閱讀 3,577評論 0 0
  • 我累了 累的不想再使力氣 興許,絕望也是一件好事 它可以徹底讓你擺脫期待 你終究該明白 除了自己向自己伸出的手 黑...
    心芳菲閱讀 239評論 0 0
  • 今天是微商特訓(xùn)營的第六天畏妖,唉呀媽呀脉执,竟然六天了,我已經(jīng)燒腦燒了六天啦戒劫! 不過最近的學(xué)習(xí)內(nèi)容可是越來越有感覺了半夷! 呵...
    霞姐_02f1閱讀 161評論 0 0