我正在构建一个应用程序,我需要用户选择一些“最喜欢的”联系人和电话号码。我可以使用以下命令选择联系人
startActivityForResult(new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI), PICK_CONTACT_REQUEST);我就能提取出我需要的所有信息。
然后,我继续将联系人的_id保存到我自己的数据库中。我的计划是稍后列出所有“收藏”的联系人,并在列表视图中显示姓名和电话号码。
我希望保存联系人id,而不是姓名和号码,这样我的listview将反映用户对其联系人所做的任何更改。
但现在我被卡住了。我不知道如何将包含联系人ids的表转换为包含联系人姓名的表。
我想要这样的东西。
my_table LEFT OUTER JOIN contacts_table ON (my_table.contact_id = contacts_table._id)发布于 2011-07-12 05:46:21
这里要做的是存储这些is,然后当您想要从用户的地址簿中提取姓名时,您必须将is与您存储的联系人意图进行交叉引用,以便将它们过滤掉。
基本上,你不能连接一个不存在的表(contacts_table)。
发布于 2011-07-12 05:47:24
您可以随心所欲地保存contect ID,然后遍历联系人ID并逐个查找联系人,提取所需的数据。如果这足够快,你就不需要任何SQL连接(“按需优化”)。
也许使用一些Google API并使用HTTP/XML来获取联系人会更快(也许还会缓存它们一段时间)。
https://stackoverflow.com/questions/6656984
复制相似问题