1

我想在我的应用程序中将电话联系人(姓名和电话号码)与我的 contentProviver“联系人”同步。所以我搜索并找到了两种方法:ContentOberver 和 SyncAdapter。

在我的情况下,我不需要与 Internt 连接,因此我只与我的应用程序的数据库同步。如果用户也删除了我想在我的数据库中删除的联系人,则更新或插入也是如此。

那么 ContentObserver 是这种情况下更好的方法吗?

有没有办法知道联系人的密钥?就像 db 中一行的键一样。如果是,我可以经常更新我的数据库(用户可以选择时间)。

4

1 回答 1

0

如果要添加标记为应用程序联系人的联系人,则需要同步适配器。如果您不添加同步适配器,则不会显示联系人。添加同步适配器时,您还需要一个身份验证器。您可以使用一个虚拟身份验证器,它始终添加相同的用户,而无需向用户询问任何内容。您需要考虑的是,如果没有互联网连接,同步适配器将永远不会被触发。因此,您需要在数据发生变化时手动触发同步。

为了做类似于你描述的事情,我开发了一个同步适配器,一个我也直接触发的同步器和一个 ContentObserver 以了解例如用户何时删除本机地址簿中的联系人。

如果您的同步是一种方式,仅意味着您不需要从应用程序插入/修改,则不需要同步适配器。

于 2012-07-23T17:07:58.267 回答