欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Retrofit的簡(jiǎn)單介紹和使用

 更新時(shí)間:2017年03月16日 17:17:03   作者:二萬(wàn)萬(wàn)  
這篇文章主要介紹了Android Retrofit的簡(jiǎn)單介紹和使用

Retrofit與okhttp共同出自于Square公司,retrofit就是對(duì)okhttp做了一層封裝。把網(wǎng)絡(luò)請(qǐng)求都交給給了Okhttp,我們只需要通過(guò)簡(jiǎn)單的配置就能使用retrofit來(lái)進(jìn)行網(wǎng)絡(luò)請(qǐng)求了,其主要作者是Android大神JakeWharton

導(dǎo)包:

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'//Retrofit2所需要的包
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'//ConverterFactory的Gson依賴包
compile 'com.squareup.retrofit2:converter-scalars:2.0.0-beta4'//ConverterFactory的String依賴包

*這里需要值得注意的是導(dǎo)入的retrofit2包的版本必須要一致,否則就會(huì)報(bào)錯(cuò)。

首先定義我們請(qǐng)求的Api,我們假設(shè)是這樣的

http://106.3.227.33/pulamsi/mobileLogin/submit.html

與Okhttp不同的是,Retrofit需要定義一個(gè)接口,用來(lái)返回我們的Call對(duì)象,這里示范的是Post請(qǐng)求:

public interface RequestServes {
  @POST("mobileLogin/submit.html")
  Call<String> getString(@Query("loginname") String loginname,
              @Query("nloginpwd") String nloginpwd);
}

Retrofit提供的請(qǐng)求方式注解有@GET和@POST,參數(shù)注解有@PATH和@Query等,我們只介紹常用的;前兩個(gè)顧名思義就是定義你的請(qǐng)求方式Get or Post,后面的@PATH指的是通過(guò)參數(shù)填充完整的路徑,一般用法:

@GET("{name}")
Call<User>
getUser(@Path("name") String name);

這里的參數(shù)username會(huì)被填充至{name}中,形成完整的Url請(qǐng)求地址,{name}相當(dāng)于一個(gè)占位符;

@Query就是我們的請(qǐng)求的鍵值對(duì)的設(shè)置,我們構(gòu)建Call對(duì)象的時(shí)候會(huì)傳入此參數(shù),

@POST("mobileLogin/submit.html")
  Call<String> getString(@Query("loginname") String loginname,
             @Query("nloginpwd") String nloginpwd);

這里@Query("loginname")就是鍵,后面的loginname就是具體的值了,值得注意的是Get和Post請(qǐng)求,都是這樣填充參數(shù)的;

接口寫(xiě)完了之后我們需要來(lái)定義Retrofit對(duì)象來(lái)進(jìn)行請(qǐng)求了;

創(chuàng)建一個(gè)Retrofit 對(duì)象

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("http://106.3.227.33/pulamsi/")
        //增加返回值為String的支持
        .addConverterFactory(ScalarsConverterFactory.create())
        //增加返回值為Gson的支持(以實(shí)體類返回)
        .addConverterFactory(GsonConverterFactory.create())
        //增加返回值為Oservable<T>的支持
        .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
        .build();

這里的baseUrl加上之前@POST("mobileLogin/submit.html")定義的參數(shù)形成完整的請(qǐng)求地址;

addConverterFactory(ScalarsConverterFactory.create())的意思是構(gòu)建了一個(gè)返回支持,如果你的Call對(duì)象的泛型接收另外的格式需要添加另外的支持,上述代碼已經(jīng)列出;

接下來(lái)我們用這個(gè)Retrofit對(duì)象創(chuàng)建一個(gè)RequestSerives接口對(duì)象,也就是我們之前定義的那個(gè)接口,并且得到我們的Call對(duì)象;

RequestSerives requestSerives = retrofit.create(RequestSerives.class);//這里采用的是Java的動(dòng)態(tài)代理模式
Call<String> call = requestSerives.getString("userName", "1234");//傳入我們請(qǐng)求的鍵值對(duì)的值

利用得到的Call對(duì)象,然后我們就發(fā)出網(wǎng)絡(luò)請(qǐng)求了:

call.enqueue(new Callback<String>() {
  @Override
  public void onResponse(Call<String> call, Response<String> response) {
    Log.e("===","return:"response.body().toString());
  }
  @Override
  public void onFailure(Call<String> call, Throwable t) {
    Log.e("===","失敗");
  }
});

以上所述是小編給大家介紹的Android Retrofit的簡(jiǎn)單介紹和使用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android編程使用pull方式解析xml格式文件的方法詳解

    Android編程使用pull方式解析xml格式文件的方法詳解

    這篇文章主要介紹了Android編程使用pull方式解析xml格式文件的方法,結(jié)合實(shí)例形式分析了Android調(diào)用pull解析器操作xml格式文件的步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Android Fragment的使用方法(翻譯)

    Android Fragment的使用方法(翻譯)

    這篇文章主要介紹了Android Fragment的使用方法,官方文檔的翻譯,需要的朋友可以參考下
    2015-03-03
  • Android利用HelloChart繪制曲線

    Android利用HelloChart繪制曲線

    這篇文章主要為大家詳細(xì)介紹了Android利用HelloChart繪制曲線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • android與asp.net服務(wù)端共享session的方法詳解

    android與asp.net服務(wù)端共享session的方法詳解

    這篇文章主要給大家介紹了關(guān)于android與asp.net服務(wù)端如何共享session的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。
    2017-09-09
  • Android 中IntentFilter的匹配規(guī)則實(shí)例詳解

    Android 中IntentFilter的匹配規(guī)則實(shí)例詳解

    這篇文章主要介紹了Android 中IntentFilter的匹配規(guī)則實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能了解掌握IntentFilter的匹配規(guī)則問(wèn)題,需要的朋友可以參考下
    2017-09-09
  • Android實(shí)現(xiàn)微信右側(cè)頂部下拉對(duì)話框

    Android實(shí)現(xiàn)微信右側(cè)頂部下拉對(duì)話框

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)微信右側(cè)頂部下拉對(duì)話框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android使用文件進(jìn)行數(shù)據(jù)存儲(chǔ)的方法

    Android使用文件進(jìn)行數(shù)據(jù)存儲(chǔ)的方法

    這篇文章主要介紹了Android使用文件進(jìn)行數(shù)據(jù)存儲(chǔ)的方法,較為詳細(xì)的分析了Android基于文件實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)所涉及的相關(guān)概念與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • Android 多渠道打包進(jìn)階版

    Android 多渠道打包進(jìn)階版

    上篇文章更了Android 多渠道打包,這篇文章將做一個(gè)后續(xù)繼續(xù)更Android 多渠道打包進(jìn)階版,上次意未盡的朋友可以繼續(xù)啦,第一次點(diǎn)進(jìn)來(lái)的朋友也可以看上次文章
    2021-09-09
  • Android ViewPager實(shí)現(xiàn)圖片輪播效果

    Android ViewPager實(shí)現(xiàn)圖片輪播效果

    這篇文章主要為大家詳細(xì)介紹了Android ViewPager實(shí)現(xiàn)圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android基于Glide v4.x的圖片加載進(jìn)度監(jiān)聽(tīng)

    Android基于Glide v4.x的圖片加載進(jìn)度監(jiān)聽(tīng)

    本篇文章主要介紹了基于Glide v4.x的圖片加載進(jìn)度監(jiān)聽(tīng)的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08

最新評(píng)論