我正在开发一个自定义联系人应用程序,它将设备上的数据存储在 SQLite 数据库中。由于某些原因,此设备数据库可能与云数据库同步非常重要:
用户可能拥有不止一台设备,并希望他们的应用程序数据在所有设备上都是最新的; 用户可能能够从网络应用程序访问这些数据; 由于此应用程序将存储许多图片,因此设备内存将不足以保存所有数据,并且可以使用存档选项将数据仅保存在云数据库中。 对于较旧的记录,将自动存档到云中。 恢复选项将可用于在需要时下载记录数据。 如您所见,设备数据库将保存一个用户的联系人,而云数据库将是一个类似的数据库,但保存所有用户的数据。所以,这个同步是有逻辑的。这不仅仅是上下复制整个 SQLite 数据库文件的问题。这必须是行/列级同步。
我想知道我可以使用哪种解决方案来完成此任务?是否可以使用 Google Cloud 或 App Engine 来实现服务器端?我可以在设备端做什么?有什么想法吗?
非常感谢任何答案。
谢谢。
最佳答案
您可以使用任何您想要的基于“云”的网络服务,您可以在手机上使用 Java 和可靠的 http 库的全部功能。当然可以在 Amazon EC2 或 App Engine 等平台上构建应用程序/网络服务,然后直接从您的应用程序调用它,自行处理安全性、存储和同步。
就我个人而言,根据我的经验,我在 EC2 上使用 Django/Python(以及各种 AWS 数据服务)并且效果很好。
另外,我知道有许多初创公司正在为您的场景构建开箱即用的解决方案,即专门针对移动开发人员的特殊 SDK 和后端服务。我对这些没有任何经验,但这里有两个我知道的(没有认可,只有链接): https://www.parse.com/ https://www.stackmob.com/
关于android - 一种在Android中同步应用程序数据库的云解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14948639/