如何使用selvins同步框架

时间:2013-09-12 08:00:18

标签: android sql-server azure microsoft-sync-framework

嗯,我不知道从哪里开始。我是android编程的新手。我的任务是将android上的sqlite与windows azure中的ms sql数据库同步。我发现selvins syncframework应该做我需要的。 http://selvinlistsyncsample.codeplex.com/

还有什么我需要的吗?

在他的文档中,他描述了如何“将SyncFramework添加到自己的项目:”。 首先在清单中添加两行,ok,没问题。 然后构建扩展basecontentprovider的providerclass,好吧,但它应该是空的吗?在basecontentprovider中有它的全部吗? 然后添加你的数据库定义,好的,没问题。 然后是Setup.class:

  • 在getServiceUrl():我必须放在哪个网址?来自数据库的网址或来自windows azure中创建的移动服务的网址还是什么?

  • getAuthority()中的
  • :我没有名称为Authority的包或类,上面没有任何内容。

最后 在“如何进行同步”:

    在getSynUri()的
  • :它必须是那两个字符串吗?还是我必须更换它们?如果是这样,用什么代替?

  • 在getContentResolver()。update():我不明白第三个参数。是不是必须准确?或者它是什么意思,我必须更换它吗?

1 个答案:

答案 0 :(得分:-1)

首先,我不确定您是否可以将我的项目用于Azure ...它是为了与MSSFT一起使用而创建的...对于Azure,您可以找到样本fx。:here

  好的,但它应该是空的吗?

它取决于:BaseContentProvider提供使用简单表的所有功能...如果您添加sql视图支持或加入其他表,您必须覆盖一些方法(查询,更新,删除,插入)

  

... getServiceUrl()...

问题是我真的不知道......正如我在回答的开头所说,我不确定这段代码是否适用于Azure ...通常你必须把URL放到哪里您的IIS上已设置"Microsoft Sync Framework Toolkit.zip\C#\Samples\ListService" download from here代码...

  

... getAuthority()...

与AndroidManifest.xml(provider->android:authorities="com.example.Project.Authority"

中的相同
  

... getSynUri()...

再次......它与"Microsoft Sync Framework Toolkit.zip\C#\Samples\ListService"相关联...下载示例,您将看到文件DefaultScopeSyncService.SVC,因此getSyncUri的第一个参数将是DefaultScopeSyncService(您可以有多个服务那里)....第二个参数是来自DefaultScopeSyncService.SVC.csconfig.SetEnableScope("DefaultScope")的范围......

  

... getContentResolver()。更新()...

实际上它应该是call而不是update,但是因为API中没有这样的方法< 11我使用update ...如果你使用特殊URI(getSynUri())调用update,BaseContentProvider将调用同步代码,第三个参数用于服务器端的模板范围过滤器(再次参见{ {1}}行DefaultScopeSyncService.SVC.cs这就像android端的config.AddFilterParameterConfiguration("userid", "User", "@ID", typeof(System.Guid));

一样