Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 仅在服务器返回的数据更改后更新缓存数据。_Android_Caching_Android Viewpager_Android Tabs - Fatal编程技术网

Android 仅在服务器返回的数据更改后更新缓存数据。

Android 仅在服务器返回的数据更改后更新缓存数据。,android,caching,android-viewpager,android-tabs,Android,Caching,Android Viewpager,Android Tabs,在Android中,我正在缓存RESTAPI调用返回的一些数据。对于缓存数据,我只想在RESTAPI调用返回的数据更改后更新它 我认为有两种可能的方法 将返回数据与缓存进行比较,然后更新它 从服务器端为更改的数据设置任何标志 问题:我从服务器上获得了一个类别列表,并以此为基础在android应用程序中设置了标签。但这一类别不太可能改变。我不希望选项卡等待加载,直到从服务器收到数据。这就是我使用缓存的原因 请为这种情况提供最佳实现。理想情况下,您希望使用来自服务器的推送通知,让应用程序知道选项卡结

在Android中,我正在缓存RESTAPI调用返回的一些数据。对于缓存数据,我只想在RESTAPI调用返回的数据更改后更新它

我认为有两种可能的方法

  • 将返回数据与缓存进行比较,然后更新它
  • 从服务器端为更改的数据设置任何标志
  • 问题:我从服务器上获得了一个类别列表,并以此为基础在android应用程序中设置了标签。但这一类别不太可能改变。我不希望选项卡等待加载,直到从服务器收到数据。这就是我使用缓存的原因


    请为这种情况提供最佳实现。

    理想情况下,您希望使用来自服务器的推送通知,让应用程序知道选项卡结构已更新,并获取新数据。这使您可以借助已保持打开状态的套接字

    不太理想的解决方案是缓存最新的响应,然后在显示视图后,检查服务器以查看是否存在更新。下载更新并在更新到达时更改选项卡


    你可以对应用程序的每个状态更改进行端点检查(根据更新时间或其他任何情况),这样,除非类别发生更改,否则只需传输少量数据。

    我知道问题很简单。但我正在寻找这种情况下的最佳实现。您可以使用GCM来实现这一点。如果服务器有任何变化,那么发送消息到android重新加载ithello,你能为第三段提供一个例子吗?非常感谢。