Retrofit學習筆記(一)

  • Retrofit 是什么

    • 項目地址: https://github.com/square/retrofit

    • 官方介紹: Type-safe HTTP client for Android and Java by Square(類型安全的HTTP客戶端支持Android和Java)

    • 個人理解: 一個強大的第三方網絡請求框架,可以通過注解配置請求,可以設置不同的HTTP客戶端, 可以用不同的 Json Converter來序列化數據(Gson、FastJson等,如果不手動配置,默認只能接收字符串結果),經常和RxJava搭配使用。

    • 看圖識字:

      retrofit流程架構
  • Retrofit 實現方法

    • 項目集成

      compile 'com.squareup.retrofit2:retrofit:2.1.0'//項目主包,必須導入
        
      compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'//和rxjava配合的包,選擇性導入
      compile 'com.squareup.okhttp3:logging-interceptor:3.3.1'//okhttp,選擇性導入
      compile 'com.squareup.retrofit2:converter-gson:2.1.0'//ConverterFactory的Gson依賴包,選擇性導入
      
    • Hello world

        
      //1.創(chuàng)建對象
        Retrofit retorfit = new Retrofit.Builder()
          .baseUrl(httpUrl)//設置域名
          .client(client)//設置okhttp    
          .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//設置適配工廠,這里使用了rxjava來適配
         .addConverterFactory(GsonConverterFactory.create())//設置轉換工廠,這里使用Gson來做轉換
          .build();//生成實例
      
      //2.獲取api接口實現類的實例
         Test test = retrofit.create(Test.class);
      
      //3.調用接口獲取Call對象
         Call<String> call = test.getData();
      
      //4.調用call方法,請求數據
         call.enqueue(new Callback<String>() {
        
             @Override
             public void onResponse(Call<String> call, Response<String> response) {
                 String body = response.body();
                 System.out.println("請求成功===="+body);
             }
         
             @Override
             public void onFailure(Call<String> call, Throwable throwable) {
                 System.err.println("請求失敗=====:"+throwable.getMessage());
             }
         }
            
      
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Retrofit 2.0 Retrofit是SQUARE美國一家移動支付公司最近新發(fā)布的在Android平臺上ht...
    夢半覺閱讀 653評論 0 0
  • 寫在前面## 其實一直都沒有寫博客的習慣,借著這次公司內部分享的機會,開始寫博客,希望以后漸漸養(yǎng)成習慣。也方便以后...
    seph_von閱讀 956評論 0 1
  • 前段時間看了RxJava,發(fā)現跟他一起用的Retrofit,今天就把認識的他們倆個來總結梳理一下 一、什么是RxJ...
    毹毹閱讀 729評論 0 5
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評論 25 709
  • 如果我們調用了一個類沒有的方法,就會進入消息處理機制,有下面幾個階段 “動態(tài)方法解析”:+ (BOOL)resol...
    whlpkk閱讀 3,113評論 2 13

友情鏈接更多精彩內容