如何在本地 dbl 中存储新联系人后更改 Source_ID 值?
How to Change Source_ID value after storing new contact in local dbl?
我想在 sql 精简版数据库上存储联系人。问题是我无法识别创建的新联系人。
解决方案
我正在使用 source_id 来识别这个新添加的联系人。现在新创建的联系人 source_id 为空,在这里我可以识别这一点。
现在的问题: 但是当它被添加到 sql lite 中时我如何更改这个值?
你不应该触及 source_id
值,同步适配器使用它同步那个联系人到你的 phone,你可能会通过修改联系人数据库来破坏它。
相反,您可以使用 Contacts.CONTACT_LAST_UPDATED_TIMESTAMP
:
- 您查询
CONTACT_LAST_UPDATED_TIMESTAMP
大于上次您的应用 运行 的所有联系人(这意味着他们是在您上次更新本地 SQLite 数据库后创建或更新的)
- 逐一查看列表,查看他们的联系人
_ID
是否已在您的数据库中,如果不在,则表示这是新联系人 - 添加它。
我想在 sql 精简版数据库上存储联系人。问题是我无法识别创建的新联系人。
解决方案 我正在使用 source_id 来识别这个新添加的联系人。现在新创建的联系人 source_id 为空,在这里我可以识别这一点。 现在的问题: 但是当它被添加到 sql lite 中时我如何更改这个值?
你不应该触及 source_id
值,同步适配器使用它同步那个联系人到你的 phone,你可能会通过修改联系人数据库来破坏它。
相反,您可以使用 Contacts.CONTACT_LAST_UPDATED_TIMESTAMP
:
- 您查询
CONTACT_LAST_UPDATED_TIMESTAMP
大于上次您的应用 运行 的所有联系人(这意味着他们是在您上次更新本地 SQLite 数据库后创建或更新的) - 逐一查看列表,查看他们的联系人
_ID
是否已在您的数据库中,如果不在,则表示这是新联系人 - 添加它。