我在应用程序中有很多在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
}
}
}
}