我的应用程序中有三个信息丰富的屏幕,如Facebook博客。应用程序在线和离线工作。用户可以离线查看数据。数据已缓存在数据库中。
从活动用户向服务器添加/更新/删除数据时。
问题是 ,我想用新数据更新所有其他活跃的应用程序用户,而不会影响他们的工作,并且在短时间内。简而言之,想要在后台更新它。我怎么能做到这一点?
我尝试了以下解决方案,但遇到了一些问题:
1。注册后从服务器获取所有数据并存储在数据库中以供离线使用。
此解决方案出现问题:始终显示缓存数据的进度条会影响糟糕的用户体验。用户会感到烦躁。
2。已实施后台处理 GCM推送通知 。(表示没有向用户显示推送通知的方式在后台处理 EM>)
此解决方案存在问题:如果用户阻止通知,则应用程序永远不会与服务器上的新数据添加/更新/删除同步。
答案 0 :(得分:0)
好吧,如果数据在Json中,您可以使用Retrofit进行数据获取,速度非常快。
注册后从服务器获取所有数据并存储在数据库中 供离线使用。
解决方案:用户注册后,在获取数据和更新数据库时首次显示进度,之后显示数据库中的数据并继续在后台更新数据。
或者您可以在ProgressBar
附近设置2dp
高度ActionBar
来向用户显示,而后台和用户的数据更新可以与数据库中的当前数据进行交互。< / p>
您可以使用MaterialProgressBar或制作自己的。