Retrofit的Call方式使用學(xué)習(xí)

Retrofit是一個resful形式的網(wǎng)絡(luò)請求框架,它是基于okhttp網(wǎng)絡(luò)請求SDK的二次封裝。參考文檔:http://www.itdecent.cn/p/308f3c54abdd

使用框架需要引入的包庫

compile 'com.squareup.retrofit2:adapter-rxjava:2.3.0'

compile 'com.squareup.retrofit2:retrofit:2.3.0' compile '

com.squareup.retrofit2:converter-gson:2.3.0'

第一步:我們定義一個接受返回信息的Bean:InfoBean包含三個字段 code、reason、result。視返回的json數(shù)據(jù)的字典而定,保持一致方可

第二步:使用retrofit需要定義請求接口

public interface BlogService {

@GET("blog/{id}")

Call<ResponseBody> getBlog(@Path("id") int id);

}

其中的Call留意一下

第三步:使用代理模式申明對象才能調(diào)用接口方法

BlogService service = retrofit.create(BlogService.class);

第四步:異步請求

Call<ResponseBody> call = service.getBlog(2);

// 用法和OkHttp的call如出一轍,

// 不同的是如果是Android系統(tǒng)回調(diào)方法執(zhí)行在主線程

call.enqueue(new Callback<ResponseBody>() {

@Override

public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {

    try { 

        System.out.println(response.body().string());

    } catch (IOException e) { e.printStackTrace(); } }

@Override public void onFailure(Call<ResponseBody> call, Throwable t) 

    {

    t.printStackTrace();

    } 

});

學(xué)會初步使用可以了解更詳細(xì)的注解及配合rxjava使用

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

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