2019独角兽企业重金招聘Python工程师标准>>>

上次说Data.MIMETYPE这个玩意很重要,官方的文档中描述了一大段的话。里面比较重要的几点是:

1、在Data中有一大段的公共数据段,DATA1~DATA15。这名子咋一看,真搞笑,哪有这样为数据命名的,神也记不住是干什么的的啊!

2、上面说的那些公共数据段所存的数据类型是由这个MIMETYPE决定的。

虽说这两个重要,不过刚看到这里,我还是懵了,这到底是个什么玩意嘛。(当然这很有可能是因为英文水平差,没看完全懂的原因。)

再看看官方文档,上面有个例子说,如果MIMETYPE的值是Phone.CONTENT_ITEM_TYPE,则DATA1就是电话号码,如果MIMETYPE的值是Email.CONTENT_ITEM_TYPE则DATA1的值就是E-mail地址。这样一说,又似乎明白了点。(还是举实例子来的实在!)

在上次说的那个官方代码里面不就有将MIMETYPE赋值为Phone.CONTENT_ITEM_TYPE的么。所以那个查询就用来查电话了。

在MIMETYPE的描述里面说,它可以被赋许多值:

StructuredName.CONTENT_ITEM_TYPE

Phone.CONTENT_ITEM_TYPE

Email.CONTENT_ITEM_TYPE

Photo.CONTENT_ITEM_TYPE

Organization.CONTENT_ITEM_TYPE

Im.CONTENT_ITEM_TYPE

Nickname.CONTENT_ITEM_TYPE

Note.CONTENT_ITEM_TYPE

StructuredPostal.CONTENT_ITEM_TYPE

GroupMembership.CONTENT_ITEM_TYPE

Website.CONTENT_ITEM_TYPE

Event.CONTENT_ITEM_TYPE

Relation.CONTENT_ITEM_TYPE

现在我们知道的有用Phone那个可以查电话,那用哪个查姓名呢?

再之后看文档时候可以明白把StructuredName.CONTENT_ITEM_TYPE给MINETYPE就行了。(但刚开始的时候可能是因为看英文,怎么都没把它们好的联系起来。)

所将官方的代码改成这样的话就可以查询姓名了。

1 Cursor c = getContentResolver().query(Data.CONTENT_URI,
2         new String[]{Data._ID,StructuredName.DISPLAY_NAME, },
3         Data.MIMETYPE + "='" + StructuredName.CONTENT_ITEM_TYPE + "'",
4           nullnull);

其中游标C的结果的第二个字段(StructuredName.DISPLAY_NAME)就是姓名,准确的说应该是“显示姓名”(因为姓名也以再细分为姓和名)。

如果还没有理解的话,也不要紧,之后我会把它讲的形像一点。

通讯录虽然不是一个什么难的东西,不过我想还是理顺一点好,免得过些天后又晕了。。

作者: holmes Zhang
来自博客园: http://www.cnblogs.com/3dant/archive/2010/12/09/1901709.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,否则保留追究法律责任的权利。

转载于:https://my.oschina.net/howaylee/blog/28743

Android通讯录查询篇--ContactsContract.Data 二相关推荐

  1. Android通讯录查询篇--ContactsContract.Data 二(续)

    这次主要要做的就是根据姓名来查找电话,并且加强对通讯录的理解. 以前做一些用到数据库的东西的时候,可能光看代码也是不好联系起各个数据之间的关系,所以我先想到的还是数据库.幸运的是,它还真是一个数据库. ...

  2. android通讯录管理(获取联系人,通话记录,短信消息),Android通讯录管理(获取联系人、通话记录、短信消息)(二)...

    Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 界面布局: /Contact_Demo/res/layout ...

  3. Android通讯录管理(获取联系人、通话记录、短信消息)(二)

    Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 同样的,你可以到这里下载源码:http://download ...

  4. 【朝花夕拾】Android性能篇之(二)Java内存分配

    前言       原文:[朝花夕拾]Android性能篇之(二)Java内存分配        在内存方面,相比于C/C++程序员,咱们java系程序员算是比较幸运的,因为对于内存的分配和回收,都交给 ...

  5. Android通讯录模糊查询搜索(号码,姓名,首字母简拼,全拼),批量选取联系人

    Android通讯录模糊查询搜索(号码,姓名,首字母简拼,全拼),批量选取联系人 公司最近的项目中遇到一个需求需要读取通讯录联系人,并需要支持对联系人的模糊查询及批量选取,网上找了好几个例子,模糊查询 ...

  6. Android Study 之 如何通过Data Binding提升撸码逼格(进阶篇)

    LZ-Says:每一次的选择,都将面临更多的希望,加油,而今迈步重头跃... 前言 前段时间,完结了一篇Data Binding前篇,地址如下: Android Study 之 如何通过Data Bi ...

  7. Android原生(Native)C开发之二 framebuffer篇

    为什么80%的码农都做不了架构师?>>>    Android原生(Native)C开发之二 framebuffer篇 如对Android原生(Natvie)C开发还任何疑问,请参阅 ...

  8. Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  9. Android自动化测试-Appium篇(二)

    Android自动化测试-Appium篇(二) 基于Appium的Android自动化测试环境部署 1. 安装Appium Desktop: a.访问Appium官网:http://appium.io ...

最新文章

  1. JS实现-页面数据无限加载
  2. html5 直接获取当前位置,HTML5调用百度地图API获取当前位置并直接导航目的地的方法...
  3. DockOne微信分享( 九十一):打造百亿级数据处理量的弹性调度容器平台
  4. python建立数据库并序列化_Python之数据序列化(json、pickle、shelve)
  5. C++类实例以及子类在内存中的分配
  6. 查看修改swap空间大小
  7. (小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
  8. cclink 和发那科机器人_FANUC机器人焊枪工具坐标系设定
  9. 写在2009年的开始
  10. 带你读论文丨异常检测算法及发展趋势分析
  11. python中findroot_Python源码问题算负数平方根无结果输出何解,python负数,def findRoot...
  12. Spring攻略学习笔记(13)------继承Bean配置
  13. 快速配置Maven到OSChina中央库的教程
  14. 对象 'dbo.xxx' 不存在,或对此操作无效。为表创建触发器,为什么提示对象不存在?
  15. php發送郵件_PHP发送邮件类库PHPMailer的简单使用
  16. 论文笔记_S2D.52_CMRNet++:在激光雷达地图中进行内参未知的相机的单目视觉定位
  17. linux通过usb给windows,如何从Linux创建Windows USB安装程序 | MOS86
  18. 【Codeforces Round #546 (Div. 2) E】Nastya Hasn't Written a Legend【线段树】
  19. TR外汇黑平台资金盘深度揭秘,谨防上当受骗,迟早会跑路
  20. 八爪鱼抓取html,网页数据爬取方法详解 - 八爪鱼采集器

热门文章

  1. SAP HANA Express Edition (HXE)-二进制安装使用步骤
  2. 聊天机器人不仅能省下客服成本 体验可能会更好
  3. 免费Ebook 分享《Silverlight for Windows Phone Toolkit in Depth》
  4. C#中对XML文件的一些基本操作[转载]
  5. error C2065: “LOAD_LIBRARY_SEARCH_SYSTEM32”: 未声明的标识符
  6. 大数据面试求职经验总结
  7. 数据挖掘二手车价格预测 Task05:模型融合
  8. 大数据开发笔记(一):HDFS介绍
  9. Mybatis 动态传入order by 参数排序无效
  10. mysql 直方图_MySQL直方图