2017-07-06 7 views
-2

インターネット接続がない場合でも2つのonResponse()が呼び出されます。
build.gradle:
2つのonResponseをインターネットなしで呼び出す

compile 'com.google.code.gson:gson:2.7' 
compile 'com.squareup.retrofit2:retrofit:2.3.0' 
compile 'com.squareup.retrofit2:converter-gson:2.3.0' 
compile 'com.squareup.okhttp:okhttp:2.4.0' 


コード:

Call<ArrayList<Repository>> call = mViewsApiEnd.getRepository("rajuse"); 

       call.enqueue(new Callback<ArrayList<Repository>>() { 
        @Override 
        public void onResponse(@NonNull Call<ArrayList<Repository>> call, @NonNull Response<ArrayList<Repository>> response) { 
         if (response.code()==200) { 
          } 
        } 

        @Override 
        public void onFailure(Call<ArrayList<Repository>> call, Throwable t) { 
         tv_response.setText("Retrofit onFailure got called :("); 
        } 

手順を再作成するには:
1.make API呼び出しインターネットが存在
2.ターンがオフのときインターネット
3. make api call。
onResponseは()

アップデート呼ばれました: 私は、これは後付けでumimplemented fubtionalityの一種であることが分かりました。私の回避策と問題を参照してください:ボレーのような

https://github.com/square/retrofit/issues/2390

他のライブラリは、成功コールバックを呼び出すことはありません。代わりに、エラーコールバックにioexceptionを与えます。

答えて

0

のようにそれを扱う取得する必要があります失敗または成功:

それは可能性がありますので、あなたはHTTPキャッシュを有効に応答がキャッシュから提供されています。これは、RetrofitのResponseオブジェクトのraw() OkHttp応答でcacheResponse()がnullでないかどうかを確認することで確認できます。

0

はい、それは応答

はそうジェイクウォートンのcommentに基づいて、この

compile 'com.google.api-client:google-api-client-android:1.20.0' exclude module: 'httpclient' 
    compile 'com.google.http-client:google-http-client-gson:1.20.0' exclude module: 'httpclient' 
    compile 'com.google.code.gson:gson:2.8.0' 
    compile 'com.squareup.retrofit2:retrofit:2.2.0' 
    compile 'com.squareup.retrofit2:converter-gson:2.2.0' 


Call<UserMaster> call = Retro.getRetroWS().UserLogin(userMaster, otp); 
     try { 
      Response<UserMaster> response = call.execute(); 
      if (response.isSuccessful()) { 
       return response.body(); 
      } else return null; 
     } catch (Exception e) { 
      e.printStackTrace(); 
      return null; 
     } 
+0

問題参照してください:[編集]をチェックし、 https://github.com/square/retrofit/issues/2390 – AskQ

+0

何私が行っていることは私のために正常に動作しますが、私はちょうどコンパイルのために入れました。 –

+0

希望すればバージョンを下げてください。 –

関連する問題