如何以推荐的方式用服务器中的新数据替换活动缓存数据

时间:2014-03-26 19:37:44

标签: android

我的活动显示每次用户看到活动(onResume)时从服务器获取的数据,以便查看最新的数据。我正在缓存数据onPause,以便在获取新数据并用新数据替换缓存数据之前向用户显示先前的数据(因此他不会看到白页或加载消息)。问题是用户可以打开活动,看到一个数字,3秒后数字正在改变(因为新数据)。这是我能达到我需要的唯一方式吗?

这是生命周期:onResume - >从缓存中获取数据并显示它 - >转到服务器并获取新数据 - >替换活动中的数据 - > onPause - >缓存新数据。

  • 编辑:让我试着澄清一下我的问题。从服务器检索数据最多可能需要10到15秒。在这个时候,我不希望用户看到加载屏幕(或我应该),所以我向他呈现最新的缓存数据。但是现在,用户可以点击“按我”按钮,因为此项目有4次启动,但15秒后更改为3次启动。

1 个答案:

答案 0 :(得分:0)

最佳用户界面练习是向用户显示正在加载数据而不是白屏。显示旧数据更糟糕,因为如果连接出错,用户就不会知道他正在使用过时的数据。

ProgressBar或一些有趣的动画(如Snapchat中)添加到您的活动布局中,并在加载完成后隐藏它。

其他解决方案是创建一个单独的对象,其中包含一个线程,该对象定期从服务器接收数据,例如每分钟,并将它们存储在此单例中。每次活动恢复时,只需调用单例实例即可从中获取新数据。