Mobile 使用在线后端在snych中持久化和保留移动应用程序数据

Mobile 使用在线后端在snych中持久化和保留移动应用程序数据,mobile,angularjs,persistence,local-storage,data-synchronization,Mobile,Angularjs,Persistence,Local Storage,Data Synchronization,我正在使用AngularJS和PhoneGap构建一个移动应用程序。该应用程序允许用户访问大量数据项。这些数据项以许多.json文件的形式随应用程序提供 一个用例是,用户可以喜欢这些数据项中的任何一个 目前,我在localStorage中存储了喜欢的项目的(ID)。它很好用,而且非常简单 但是现在我想为这个应用创建一个在线后端。我的意思是,被偏爱的项目的(ID)也应该以某种形式的数据库存储在服务器上的某个地方 现在我的问题是: 我怎样才能最好地做到这一点 如何保持本地存储数据和在线后端数据

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

一个用例是,用户可以喜欢这些数据项中的任何一个

  • 目前,我在localStorage中存储了喜欢的项目的(ID)。它很好用,而且非常简单

  • 但是现在我想为这个应用创建一个在线后端。我的意思是,被偏爱的项目的(ID)也应该以某种形式的数据库存储在服务器上的某个地方

现在我的问题是:

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

  • 特别是,用户在创建数据项时可能没有internet连接。此外,如果用户喜欢一行中的x个数据项,我需要对服务器数据库进行x个更新调用,这显然不是很好

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


这似乎是一个常见的问题,必须有一个众所周知的解决方案?

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


我认为这个问题没有一刀切的解决办法,尽管我认为可能有人制作了一个库来处理不同的潜在场景,但配置可能与自己编写逻辑一样复杂。

我会仔细使用来自不同来源(如本地存储和数据库)的时间戳,因为您无法知道客户机和服务器是否同步。不幸的是,我没有更好的解决方案,因为我自己也在寻找=/