99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

AndroidRetrofit的簡單介紹和使用

Retrofit與okhttp共同出自于Square公司,retrofit就是對okhttp做了一層封裝。把網絡請求都交給給了Okhttp,我們只需要通過簡單的配置就能使用retrofit來進行網絡請求了,其主要作者是Android大神JakeWharton。

創新互聯專業為企業提供南溪網站建設、南溪做網站、南溪網站設計、南溪網站制作等企業網站建設、網頁設計與制作、南溪企業網站模板建站服務,10年南溪做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

導包:

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依賴包

*這里需要值得注意的是導入的retrofit2包的版本必須要一致,否則就會報錯。

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

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,參數注解有@PATH和@Query等,我們只介紹常用的;前兩個顧名思義就是定義你的請求方式Get or Post,后面的@PATH指的是通過參數填充完整的路徑,一般用法:

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

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

@Query就是我們的請求的鍵值對的設置,我們構建Call對象的時候會傳入此參數,

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

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

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

創建一個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")定義的參數形成完整的請求地址;

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

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

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

利用得到的Call對象,然后我們就發出網絡請求了:

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

網頁標題:AndroidRetrofit的簡單介紹和使用
本文地址:http://www.yijiale78.com/article34/ihdsse.html

成都網站建設公司_創新互聯,為您提供建站公司、App設計、品牌網站建設域名注冊、企業建站、外貿建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司