android - 如何使截击缓存在 1 分钟内过期

标签 android android-volley

我在使用 Volley 缓存时遇到了问题。有什么方法可以在一分钟后删除缓存并让它请求新数据吗?

我的代码

    JsonObjectRequest jsObjRequest = new JsonObjectRequest
        (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

    @Override
    public void onResponse(JSONObject response) {
        mTxtDisplay.setText("Response: " + response.toString());
    }
}, new Response.ErrorListener() {

    @Override
    public void onErrorResponse(VolleyError error) {
        // TODO Auto-generated method stub

    }
});

最佳答案

你可以这样做:

 JsonObjectRequest jsObjRequest = new JsonObjectRequest
        (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

    @Override
    public void onResponse(JSONObject response) {
        mTxtDisplay.setText("Response: " + response.toString());
    }
}, new Response.ErrorListener() {

    @Override
    public void onErrorResponse(VolleyError error) {
        // TODO Auto-generated method stub

    }
}){
 @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        Response<JSONObject> resp = super.parseNetworkResponse(response);
        if(!resp.isSuccess()) {
            return resp;
        }
        long now = System.currentTimeMillis();
        Cache.Entry entry = resp.cacheEntry;
        if(entry == null) {
            entry = new Cache.Entry();
            entry.data = response.data;
            entry.responseHeaders = response.headers;
        }
        entry.ttl = now + 60 * 1000;  //keeps cache for 1 min

        return Response.success(resp.result, entry);
    }
};

这将使您始终为请求缓存 1 分钟

关于android - 如何使截击缓存在 1 分钟内过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36966645/

相关文章:

java - 如何缩短有关 Stringrequest 的代码?

java - 获取图像时出现 Volley Bad URL 错误

Android:将 JSON 转换为 POJO 是正确的方法吗?

android - 如何从 Assets 中的文件创建 java.io.File 类?

Android sqlite 插入错误代码 19 : constraint failed

android - 为什么我不能在 Android 中扩充我的 Fragments?

android - 为什么 mapbox-android sdk 没有从 build.gradle 解析?

java - Volley 不向 PHP 发送变量

android - error.networkResponse 为空时 Android Volley 中的 Http 状态代码

android - 来自类型 Activity 的方法 showDialog(int) 在 android 中被弃用了吗?