【发布时间】:2015-09-18 00:02:59
【问题描述】:
让我试着澄清一下我的意图。
我正在开发一个访问 Android 联系人提供程序的应用。我已经实现了一种从联系人提供程序中提取联系人并将结果存储在 SQLite 表中的机制。目前,当我查询联系人的_ID结果时,我可以检索到该联系人的所有数据、电话号码、电子邮件地址等。
但是,为了指定我的应用在以后的场合应该使用哪些,我必须将生成的联系人数据(例如 CommonDataKinds.Phone.NUMBER、CommonDataKinds.Phone.TYPE 等)存储在 SQL 表中。
如果 Android 联系人提供程序中的数据发生更改,则会出现问题。我考虑过的一种解决方案是重新查询 _ID 并存储已更改的数据。但是,实施此类解决方案需要收集该联系人的所有数据,因此很难确定要使用的正确联系人数据。
我的问题是:
Android Provider 的联系人数据中是否使用了唯一的记录键,就像 Provider 的联系人条目本身一样?与 Contact._ID 等效的电话号码或电子邮件地址?
如果不这样做,Android 联系人提供程序是否会存储上次修改的日期和时间?我希望如果我无法在提供程序中引用联系人数据,我至少可以运行检查以查看自从选择在应用程序中使用联系人以来是否有任何变化,从而允许我的应用程序提醒用户数据已更改。
【问题讨论】:
标签: android sqlite android-contacts