我在應用程序中有很多在volley中完成的字符串請求。在每個模塊中,有一個不同的onResponseListener總是做不同的事情。我需要讓他們也離線工作。所以我得到緩存的響應。問題是,可能會有很多異步調用不同URL的請求。問題是如何從緩存中獲取請求時記住請求的URL。目前它只在全局變量中,但由於請求可以異步發送,響應可能與全局變量url不匹配。有什麼方法可以讓onResponse請求的原始請求url,並直接在Application.get()。getApi()。getCache(url)中使用它?android volley緩存異步請求 - 如何在ResponseListener中獲取請求的url
請求看起來總是這樣:
Application.get().getApi().getRequest(url, mListener);
mListener:
private class ResponseListenerX extends Api.ResponseListener {
@Override
public void onResponse(String response) {
if (response != null) {
}
}
@Override
public void onErrorResponse(VolleyError error) {
if ((error == null || error.networkResponse == null) && url != null) {
// how to get here url from the request
String response = Application.get().getApi().getCache(url);
if (response != null && response.length() > 0) {
// onResponse
}
}
}
}