哪个是从服务器同步Android应用程序数据的最佳方法?

时间:2016-07-30 12:21:28

标签: android google-cloud-messaging android-notifications android-background

我的应用程序中有三个信息丰富的屏幕,如Facebook博客。应用程序在线和离线工作。用户可以离线查看数据。数据已缓存在数据库中。

从活动用户向服务器添加/更新/删除数据时。

问题是 ,我想用新数据更新所有其他活跃的应用程序用户,而不会影响他们的工作,并且在短时间内。简而言之,想要在后台更新它。我怎么能做到这一点?

我尝试了以下解决方案,但遇到了一些问题:

1。注册后从服务器获取所有数据并存储在数据库中以供离线使用。

此解决方案出现问题:始终显示缓存数据的进度条会影响糟糕的用户体验。用户会感到烦躁。

2。已实施后台处理 GCM推送通知 。(表示没有向用户显示推送通知的方式在后台处理 EM>)

此解决方案存在问题:如果用户阻止通知,则应用程序永远不会与服务器上的新数据添加/更新/删除同步。

1 个答案:

答案 0 :(得分:0)

好吧,如果数据在Json中,您可以使用Retrofit进行数据获取,速度非常快。

  

注册后从服务器获取所有数据并存储在数据库中   供离线使用。

解决方案:用户注册后,在获取数据和更新数据库时首次显示进度,之后显示数据库中的数据并继续在后台更新数据。

或者您可以在ProgressBar附近设置2dp高度ActionBar来向用户显示,而后台和用户的数据更新可以与数据库中的当前数据进行交互。< / p>

您可以使用MaterialProgressBar或制作自己的。