2017-05-03 33 views
0

我有一個java API需要大約50秒才能返回響應,API的改進是不可能的。用戶無法在下一頁中繼續,直到響應完成,並且在使用該API的android應用程序中它是一種攔截器。請在此建議一些替代方法。如何訪問Android應用程序中響應時間較長的API?

例如:我們可以有兩個表,API將返回表中的數據,而不是等待查詢的結果,這需要花費更多時間,我們可以產生一個線程來在後臺運行查詢並更新表數據結果。基於響應數據的時間戳,android應用程序可以知道數據是舊的還是最新的,並且在舊數據的情況下,他們可以在一段時間後再次請求以獲取最新數據。

如果問題或方法不明確,請讓我知道。

回答

0

有做這種事情的具體方式。在android中有一個叫做Loader的東西。內容提供商使用CursorLoader。和AsyncTaskLoader的API調用

0

試試這個

if (BuildConfig.DEBUG) { 
    HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(); 
    httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); 
    httpClient.addInterceptor(httpLoggingInterceptor); 
} 

也gradle這個應用級別添加此依賴

compile 'com.squareup.okhttp3:logging-interceptor:3.2.0' 

Smaple響應

Date: Fri, 12 Aug 2016 07:33:23 GMT 
OkHttp-Sent-Millis: 1470987074283 
OkHttp-Received-Millis: 1470987074422 
+0

並在android studio中檢查你的logcat –

0

你可以做到這一點的後臺服務。 並通過廣播獲得響應時通知UI線程。

相關問題