如何同步Android的数据库与SQL Server联机?(How to Synchronize A

2019-07-30 04:52发布

我正在开发一个Android应用程序存储不同类型数据的内置的是Android平台所提供的SQLite。

在应用程序中我已经把它应该本地SQLite数据库之间的同步数据的“同步”按钮,用我的服务器上的SQL Server联机数据库。

什么是处理这一问题的方法? 该功能可以在谷歌日历,在这里你可以查看你的手机日历的事件,当你添加一个新的事件,并同步数据,你可以将您的网上帐户也查看更新的数据中找到。

注:我不希望在网上集中我的数据库,因为我也想给移动用户使用的应用程序没有互联网连接的能力。

Answer 1:

你应该看看在Android SDK的演示(在SampleSyncAdapter项目传输数据使用同步适配器 )。 它表明你如何做到同步“机器人式”,这需要通过手动攻丝同步按钮,所有的时间没有用户交互。

最重要的是,你需要编写服务器软件,能提供您SyncAdapter与自上次犯下的所有更改“增量”。 最基本的方法是保持“上次同步”的时间在你的应用程序,它必须来自服务器的邮票,否则你可能会遇到麻烦,因为客户端和服务器之间的时间差。 规范化所有时间戳为GMT或您选择的任何时区,但该决定坚持下去。 如果您的应用需要显示本地时间的时间戳,那么你需要使用Java日历和TimeZone类用于规范化时间戳转换为本地时间。

您的应用程序也需要改旗方志为“脏”,所以你的SyncAdapter知道它需要这些改变或新记录上传到服务器。

以下最低功能需要为您的服务器软件:

  • 更新现有记录(S)功能
  • 添加新的记录(S)功能
  • 获取更新的记录,因为上次同步(应用程序提供时间戳)
  • 获取新记录自上次同步(应用程序提供时间戳)

您也可以通过对获得的这一切是如何工作的想法,以及如何以设计为通信服务器API接口来读取一些谷歌的API(如谷歌日历)。



文章来源: How to Synchronize Android Database with an online SQL Server?