理解MimeType:根据查询条件的MimeType 决定Data表的data1~data15的值。

对于MimeType的值有CommonDataKinds.xxxx.CONTENT_ITEM_TYPE。查询的得到的结果为

CommonDataKinds.xxxx.xxx。

  1. public class ContactDataModel {
  2. private Context mContext;
  3. private ContentResolver mContentResolver;
  4. public ContactDataModel(Context mContext) {
  5. this.mContext = mContext;
  6. mContentResolver=mContext.getContentResolver();
  7. }
  8. public List<HashMap<String,String>> getContactsByName(String mName){
  9. mName=mName.trim();
  10. List<HashMap<String,String>> list=new ArrayList<HashMap<String,String>>();
  11. boolean ifQueryAll=false;
  12. Cursor cn =null;
  13. Cursor cu= null;//cu姓名游标,cn电话游标
  14. String selection=null;//查询条件
  15. ifQueryAll=mName.equals("")?true:false;
  16. //根据ifQuery判断查询条件
  17. if (ifQueryAll) {
  18. selection=Data.MIMETYPE+"='"+CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE+"'";
  19. }else{
  20. selection=Data.MIMETYPE+"='"+CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE+"' AND "+
  21. CommonDataKinds.StructuredName.DISPLAY_NAME+"LIKE '%'"+mName+"%'";
  22. }
  23. //根据姓名查询出通讯录ID与完整姓名。
  24. cu=mContentResolver.query(Contacts.CONTENT_URI,new String[]{Data.RAW_CONTACT_ID,StructuredName.DISPLAY_NAME},
  25. selection, null, null);
  26. //根据通讯录ID查询电话号码的条件
  27. selection=Data.MIMETYPE+"='"+CommonDataKinds.Phone.CONTENT_ITEM_TYPE+"' AND "+ Data.RAW_CONTACT_ID+" =? ";
  28. //执行查询
  29. while (cu.moveToNext()) {
  30. String mContactId=String.valueOf(cu.getInt(0));
  31. cn=mContentResolver.query(Contacts.CONTENT_URI, new String[]{CommonDataKinds.Phone.NUMBER},
  32. selection, new String[]{mContactId}, null);
  33. while (cn.moveToNext()) {
  34. HashMap<String,String> map=new HashMap<String, String>();
  35. map.put("display_name",cu.getString(1));
  36. map.put("phone_number",cn.getString(0));
  37. list.add(map);
  38. }
  39. }
  40. cu.close();
  41. cn.close();
  42. return list;
  43. }
  44. }

转载于:https://blog.51cto.com/linwb/1113201

Android通讯录(一)相关推荐

  1. Jquery Mobile设计Android通讯录第二章

    本文是jQuery Mobile设计Android通讯录系统教程的第二篇,在上一篇教程中(http://publish.itpub.net/a2011/0517/1191/000001191561.s ...

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

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

  3. android通讯录备份恢复代码逻辑

    android通讯录备份恢复 新增和修改 目前用的是新增,云端判断返回的手机号是否为空 /*** 向手机中录入联系人信息** @param contactListBean 要录入的联系人信息*/pub ...

  4. Android通讯录导入到Iphone

    现在很多人都使用Iphone手机,但是怎样将Android通讯录导入到Iphone中是一个很多人会碰到的问题.查找了很多资料,有的说是用第三方软件同步,这个也许可以,但是我的没有成功,比如说91同步助 ...

  5. android通讯录完整功能实现,Android实现通讯录功能

    本文实例为大家分享了Android通讯录案例,供大家参考,具体内容如下 实战演练--通讯录 1.功能描述:通过SQLite实现数据库的增删改查 2.技术要点:SQLite的基本操作 3.实现步骤: ① ...

  6. 简易android通讯录

    android通讯录 文章目录 android通讯录 (1)初步实现的功能: (2)主界面布局 (3)设计思路 (4)开发技术 (5)核心方面 5.1数据库设计方面 5.2JavaBean 5.3Ar ...

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

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

  8. android通讯录demo

    android通讯录demo 视频演示 主要代码实现类 界面样式 项目下载链接 视频演示 android通讯录 主要代码实现类 MainActivity package com.example.mai ...

  9. android联系人管理源码,计算机毕业课程设计源码-145安卓Android通讯录管理系统

    file://C:\Users\Administrator\Desktop\安卓Android通讯录管理系统 (1 folders, 0 files, 0 bytes, 15.73 MB in tot ...

  10. Android通讯录模糊匹配搜索实现 号码 首字母 简拼 全拼

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Andr ...

最新文章

  1. 机器学习预测地震的未来
  2. Git中的工作区(Working Directory)、暂存区(stage)和历史记录区(history)
  3. 阿里云容器Kubernetes监控(七) - Prometheus监控方案部署
  4. 提炼SLG的“决策观”,《三国志14》做了哪些“加减法”
  5. Nessus扫描器的使用
  6. 360解压电脑版安装包_迅捷pdf转换器电脑版安装包下载-迅迅捷pdf转换器安装包免费下载...
  7. EF里查看/修改实体的当前值、原始值和数据库值
  8. BP反向传播算法推导
  9. 2018国家网络安全宣传周系列漫画
  10. google浏览器呗7654流氓解除
  11. 猜数字游戏 由计算机,猜数字游戏实验报告
  12. 网络(八)之OSPF协议的原理及配置
  13. Windows server 2012 主域+辅域
  14. WPS 加载项开发说明
  15. torch.nn.Conv2d() 用法讲解
  16. 大数据时代,AIoT在智慧社区的深度应用
  17. 数据结构--三角矩阵的压缩存储
  18. 沈阳城市学院计算机,沈阳城市学院通识教育学院在计算机设计大赛中获奖
  19. Matlab T型速度规划
  20. 软件配置管理的目标和任务

热门文章

  1. 开放源码软件的安装(tar包安装方法)
  2. 几篇关于UDEV的文章
  3. Android下OpenSLES播放PCM音频文件
  4. Android WiFi Dhcp 获取到 IP 和配置的过程
  5. WifiConfigManager NetworkSelector 和 WifiConnectivityManager
  6. pjsip在windows上编译
  7. SDP在SIP协议中的应用
  8. hive join 数据倾斜 真实案例
  9. 列存储中常用的数据压缩算法
  10. 比例化简 详解(C++)