インターネット接続がない場合でも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を与えます。
問題参照してください:[編集]をチェックし、 https://github.com/square/retrofit/issues/2390 – AskQ
何私が行っていることは私のために正常に動作しますが、私はちょうどコンパイルのために入れました。 –
希望すればバージョンを下げてください。 –