2017-12-20 3 views
0

Wie kann ich herausfinden, ob meine Anfrage ausgeführt wird oder nicht? In AsyncTask überprüfen wir einfach (mPlaceObj.getStatus().equals(AsyncTask.Status.FINISHED) und es gibt einen booleschen Wert zurück. Auf der anderen Seite verwenden wir bei der Nachrüstung die Methode mCall.isExecuted(), gibt true zurück, wenn dieser Aufruf entweder {@linkplain #execute() ausgeführt wurde} oder {@linkplain #enqueue (Callback) enqueued}.So prüfen Sie, ob der Nachrüstungsanruf beendet ist oder nicht?

Also, gibt es eine Möglichkeit, es zu tun, schlagen Sie bitte vor?

+0

onRespone Rückruf. Außerdem können Sie überprüfen, ob die Antwort mit isSuccessful erfolgreich ist. – Raghunandan

+1

Wenn Sie von einer anderen Aktivität anrufen, müssen Sie eine Callback-Schnittstelle verwenden, um festzustellen, ob der Anruf beendet wurde. –

+0

können Sie Ihren Retrofit-Code hier posten, so kann ich es bearbeiten –

Antwort

0

Sie können HttpLoggingInterceptor für check Nachrufen der Anforderung verwenden.

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); 

verwenden Logger mit Nachrüst-Objekt wie folgt aus:

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

Sie werden Logcat Ihrer Anfrage Anruf in Logcat-Monitor erhalten. Verfolge es.

Sie erhalten zwei Zustand mit Retrofit, d. H. OnResponse & onFailure. Wenn Ihr Anruf erfolgreich abgeschlossen wurde, finden Sie Ihren Anruf in onResponse &, wenn es eine Ausnahme gibt, dann ist Ihr Anruf in onFailure.

Refere dieses tutorial, erhalten Sie mehr Idee über Retrofit & seine Funktionalität.

Verwenden Sie diese Abhängigkeit für Logger:

Kompilierung 'com.squareup.okhttp3: Logging-Abfangjäger: 3.8.1'

Verwandte Themen