我有一个android系统,它有一个本地sqlite数据库,有4个表彼此相关(状态 - > Sections - > Offices - > OfficeTelephones)。我还有一个远程服务器从面板(网站)获取它的crud操作,android应用程序附带一个基本的数据库,其中包含一些信息,但用户应该能够同步和更新它的android从mssql本地sqlite db获取更新的,新的和删除的数据。我知道应该有一个处理请求的网络服务,但我不知道如何处理同步。什么是最好的方法?
提前致谢
答案 0 :(得分:1)
你想要将你的android数据库与远程服务器数据库同步,据我说你可以使用webservices或同步适配器。 你可以做的是每次用户启动应用程序使用其余apis检查更新并根据更新数据库更新数据库,但这种方法的问题是运行apis的时间,如果你每次都运行它如果用户正在使用应用程序时发生更改,应用程序将启动,然后它将不会被反映,如果您在固定的持续时间后不断轮询更新,它将使用资源和电池电量。 所以最好的做法是使用syncadapters搜索它。实现起来有点棘手,但它将是我帮助的最终解决方案。 正如您在评论中提到的那样,用户按下按钮来更新数据库,那么您应该在上次更新时使用设备上的时间戳,并在服务器上的数据库更新时通过比较两个您知道需要的服务器上的时间戳更新您的Android数据库,您可以维护一个布尔标志来检查您是否需要更新行