2017-12-20 14 views
0

요청 통화가 실행되는지 여부를 어떻게 확인할 수 있습니까? AsyncTask에서 우리는 단순히 (mPlaceObj.getStatus().equals(AsyncTask.Status.FINISHED) 을 확인하고 부울 값을 반환합니다.Retrofit 요청 통화가 완료되었는지 여부를 확인하는 방법은 무엇입니까?

다른 방법으로는 개장 할 때 mCall.isExecuted() 메서드를 사용합니다.이 호출이 {@linkplain #execute() 실행} 또는 {@linkplain # enqueue (콜백) 대기열에 포함됨} 인 경우 true를 반환합니다.

그래서 할 수있는 방법이 있습니까?

+0

onRespone 콜백. 또한 isSuccessful을 사용하여 응답이 성공했는지 확인할 수 있습니다. – Raghunandan

+1

다른 활동에서 호출하는 경우 콜백 인터페이스를 사용하여 호출이 완료되었는지 여부를 감지해야합니다. –

+0

개조 코드를 여기에 올리면 편집 할 수 있습니다 –

답변

0

HttpLoggingInterceptor를 사용하여 Retrofit request Call을 확인할 수 있습니다.

HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); 
logging.setLevel(HttpLoggingInterceptor.Level.BODY); 

OkHttpClient.Builder httpClient = new OkHttpClient.Builder().connectTimeout(60, TimeUnit.SECONDS) 
       .writeTimeout(60, TimeUnit.SECONDS) 
       .readTimeout(60, TimeUnit.SECONDS) 
httpClient.addInterceptor(logging); 

사용이처럼 개조 개체와이 로거 :

Retrofit retrofit = new Retrofit.Builder() 
        .baseUrl(BASE_URL) 
        .addConverterFactory(GsonConverterFactory.create()) 
        .client(httpClient.build()) 
        .build(); 

당신은 로그 캣 모니터에 요청 전화의 로그 캣를 얻을 수 있습니다. 그것을 추적하십시오.

Retrofit 즉, onRespons & onFailure를 사용하면 2 개의 상태가됩니다. 전화가 성공적으로 완료된 경우 onRespons에서 &으로 전화를 찾은 다음 예외가 발생하면 onFailure에 전화를 겁니다.

Refere this tutorial, 당신은 개조 할 수있는 & 기능에 대해 더 알게 될 것입니다.

사용 로거에 대한이 종속성 :

컴파일 'com.squareup.okhttp3 : 로깅 인터셉터 : 3.8.1'