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

Android Retrofit的簡單介紹和使用

 更新時間:2017年03月16日 17:17:03   作者:二萬萬  
這篇文章主要介紹了Android Retrofit的簡單介紹和使用

Retrofit與okhttp共同出自于Square公司,retrofit就是對okhttp做了一層封裝。把網(wǎng)絡(luò)請求都交給給了Okhttp,我們只需要通過簡單的配置就能使用retrofit來進(jìn)行網(wǎng)絡(luò)請求了,其主要作者是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包的版本必須要一致,否則就會報錯。

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

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

與Okhttp不同的是,Retrofit需要定義一個接口,用來返回我們的Call對象,這里示范的是Post請求:

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

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

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

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

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

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

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

接口寫完了之后我們需要來定義Retrofit對象來進(jìn)行請求了;

創(chuàng)建一個Retrofit 對象

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

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

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

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

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

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

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的簡單介紹和使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

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

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

    這篇文章主要介紹了Android編程使用pull方式解析xml格式文件的方法,結(jié)合實例形式分析了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ì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • android與asp.net服務(wù)端共享session的方法詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論