0

我正在使用 AngularJS 和 PhoneGap 构建一个移动应用程序。该应用程序允许用户访问大量数据项。这些数据项以许多 .json 文件的形式随应用程序一起提供。

一个用例是用户可以收藏任何这些数据项

  • 目前,我将已收藏的项目的(ID)存储在localStorage中。它可以工作,而且很棒而且非常简单。

  • 但现在我想为应用程序创建一个在线后端。我的意思是,已收藏的项目的(ID)也应该存储在某种形式的数据库中的某个服务器上。

现在我的问题是:

  • 我怎样才能最好地做到这一点?
  • 如何保持 localStorage 数据和在线后端数据同步

  • 特别是,如果用户喜欢某个数据项,那么他当时可能没有互联网连接。此外,如果用户连续收藏 x 个数据项,我需要对服务器数据库进行 x 次更新调用,这显然不是很好。

那么,人们是如何做到的呢?Angular 有什么内置的吗?有没有插件?还有其他框架吗?

这看起来很像一个必须有众所周知的解决方案的常见问题?

4

1 回答 1

1

我认为您几乎已经获得了整个解决方案。您需要做的就是定期(在应用程序启动时从服务加载数据(如果可用),否则使用当前本地存储,然后可能使用计时器并在应用程序关闭时更新数据(如果已连接))将 JSON 发送到服务(我通常更喜欢 PHP,但 Python、Java、Ruby、Perl,无论你喜欢什么)都将其放入数据库。如果您关心合并同步更改,则需要在本地存储和数据库中的数据中使用时间戳,以正确调用应该插入的内容和应该更新的内容。

我不认为有一个适合所有问题的解决方案,尽管我想有人可能已经制作了一个库来处理不同的潜在场景,配置可能就像自己编写逻辑一样复杂。

于 2013-08-21T22:30:00.430 回答