Android Volley JsonObjectRequest returns 每次在移动数据上的响应相同
Android Volley JsonObjectRequest returns same response every time on mobile data
我正在使用 Volley JsonObjectRequest 从服务器获取数据。
代码片段:
JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println("Response: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
}
});
但我每次使用移动数据连接时都一样JSONObject response
。
注意:它在 WiFi 连接上工作完美。
有人遇到这个问题吗?任何解决方案?
@BNK request.setShouldCache(false);
为我工作。这是 volley 缓存管理的问题。
我假设发送请求时:
它将首先访问缓存并将其发送到 onResponse
然后当结果从远程服务器传来时,它将提供给 onResponse
如果您使用任何在 volley 中实现的默认请求 类(例如 StringRequest、JsonRequest 等),然后在将请求对象添加到 volley [=15]之前调用 setShouldCache(false)
=]
request.setShouldCache(false);
myQueue.add(request);
您还可以为缓存设置过期策略。
See this answer for more details
我正在使用 Volley JsonObjectRequest 从服务器获取数据。
代码片段:
JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println("Response: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
}
});
但我每次使用移动数据连接时都一样JSONObject response
。
注意:它在 WiFi 连接上工作完美。
有人遇到这个问题吗?任何解决方案?
@BNK request.setShouldCache(false);
为我工作。这是 volley 缓存管理的问题。
我假设发送请求时:
它将首先访问缓存并将其发送到
onResponse
然后当结果从远程服务器传来时,它将提供给
onResponse
如果您使用任何在 volley 中实现的默认请求 类(例如 StringRequest、JsonRequest 等),然后在将请求对象添加到 volley [=15]之前调用 setShouldCache(false)
=]
request.setShouldCache(false);
myQueue.add(request);
您还可以为缓存设置过期策略。
See this answer for more details