我知道如何检索特定联系人的联系人数据.但是,我找不到在单个查询中获取所有联系人以及他们的一些详细信息的方法.以下代码获取所有具有邮政地址的联系人:
Uri uri = ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI; String[] projection = new String[] { StructuredPostal._ID, StructuredPostal.LOOKUP_KEY, StructuredPostal.disPLAY_name, StructuredPostal.STREET, StructuredPostal.CITY }; String sortOrder = StructuredPostal.disPLAY_name + " ColLATE LOCAliZED ASC"; Cursor c = getContentResolver().query(uri, projection, null, null, sortOrder);
但我需要的是所有联系人,无论他们是否有邮寄地址.这是可行的使用ContatsContract API,还是我需要创建自定义外连接查询?如何提示?
解决方法:
AndroID 2.0中的所有联系信息都存储在单个数据库表中.因此,您可以在单个查询中获得所需的所有信息:
Cursor c = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, null, null, sortOrder);
只需遍历数据并检查Data.MIMETYPE列.例如,如果此列具有StructuredPostal.CONTENT_ITEM_TYPE值,则可以从此列获取StructuredPostal字段.
总结以上是内存溢出为你收集整理的android – 在一个OUTER JOIN查询中获取所有联系人及其详细信息(例如邮政地址)全部内容,希望文章能够帮你解决android – 在一个OUTER JOIN查询中获取所有联系人及其详细信息(例如邮政地址)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)