如何通过Android Volley检查新数据的可用性和长度

如何通过Android Volley检查新数据的可用性和长度,android,caching,android-volley,Android,Caching,Android Volley,我使用Android Volley库加载和缓存来自服务器的数据。下面是我使用的简单代码 // Creating volley request queue RequestQueue queue = Volley.newRequestQueue(getActivity()); // Creating volley request obj JsonArrayRequest mReq = new JsonArrayRequest(url, new Response.Listener<JS

我使用Android Volley库加载和缓存来自服务器的数据。下面是我使用的简单代码

// Creating volley request queue
RequestQueue queue = Volley.newRequestQueue(getActivity());

// Creating volley request obj
JsonArrayRequest mReq = new JsonArrayRequest(url,
    new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {
            Log.d(TAG, response.toString());
            hidePDialog();
            progressBar.setVisibility(View.GONE);

            // update the data fetched from server
            if(mList != null)
            {
                mList.clear();
            }

            parseVolleyResponse(response);
            // notifying list adapter about data changes
            // so that it renders the list view with updated data
            rAdapter.notifyDataSetChanged();
            Log.d("notifyDataSetChanged", "notifyDataSetChanged");
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            // TODO Auto-generated method stub
            VolleyLog.d(TAG, "Error: " + error.getMessage());
            hidePDialog();
        }
    });

// Adding volley request to the queue
queue.add(mReq);
//创建截击请求队列
RequestQueue=Volley.newRequestQueue(getActivity());
//创建截击请求对象
JsonArrayRequest mReq=新的JsonArrayRequest(url,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONArray响应){
Log.d(TAG,response.toString());
hidePDialog();
progressBar.setVisibility(View.GONE);
//更新从服务器获取的数据
如果(mList!=null)
{
mList.clear();
}
截击反应(应答);
//正在通知列表适配器有关数据更改的信息
//因此,它将使用更新的数据呈现列表视图
rAdapter.notifyDataSetChanged();
Log.d(“notifyDataSetChanged”、“notifyDataSetChanged”);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//TODO自动生成的方法存根
d(标记“Error:+Error.getMessage());
hidePDialog();
}
});
//向队列添加截击请求
队列添加(mReq);

加载和缓存工作正常。现在,我想在我的布局顶部显示一条消息,如“15个新数据可用。点击以加载”。每当服务器端有新数据可用时,即我想通知任何新数据可用时及其长度。我该怎么做?我应该使用这个
Entry=queue.getCache().get(url)检查缓存和网络之间的差异?请帮助编码。

ache可能已过时,因为服务器设置了标志(最大年龄,…),所以您最好将截击接收的数据与内部表示的数据进行比较。最好的方法是让服务器通过GCM通知您是否有新数据可用,然后通过截取请求。谢谢Maxxxo。你的分数是正确的。我看到Google+显示“新帖子!点击查看”。想知道如何做到这一点。所以我需要试试GCM。至少我现在有了线索。