• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > [android] 手机卫士读取联系人,android卫士

[android] 手机卫士读取联系人,android卫士

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android360卫士,android360手机卫士,android手机安全卫士,android手机卫士,android360安全卫士等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

[android] 手机卫士读取联系人,android卫士


 

获取ContentResolver内容解析器对象,通过getContentResolver()方法

调用ContentResolver对象的query()方法,得到raw_contacts表里面的数据,得到Cursor对象

参数:Uri对象,字段String数组

获取Uri对象,通过Uri.parse(“content://com.android.contacts/raw_contacts”)方法,

 

while循环Cursor对象,条件是Cursor对象moveToNext()方法为真

调用Cursor对象的getString()方法,参数是索引

判断不为null,查询另一张表

调用ContentResolver对象的query()方法,得到data表里面的数据,得到Cursor对象

参数:Uri对象,字段String[]数组(data1,mimetype),条件String,条件值String[]数组(contact_id)

Uri对象是Uri.parse(“content://com.android.contacts/data”)

循环和上面一样

姓名对应的类型是vnd.android.cursor.item/name

电话对应的类型是vnd.android.cursor.item/phone_v2

需要权限,android.permisssion.READ_CONTACTS

 

调用ListView对象的setAdapter()方法,分配数据到视图,参数是Adapter对象

通过new SimpleAdapter()来获得Adapter对象

参数:上下文,数据集合,布局资源,字段String[]数组,控件int[] id数组

 

package com.qingguow.mobilesafe.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
/**
 * 读取手机联系人
 * @author taoshihan
 *
 */
public class PhoneContactsUtil {
    public static List<Map<String,String>> getContacts(Context context){
        ContentResolver resolver=context.getContentResolver();
        Uri uri=Uri.parse("content://com.android.contacts/raw_contacts");
        Uri dataUri=Uri.parse("content://com.android.contacts/data");
        List<Map<String,String>> contacts=new ArrayList<Map<String,String>>();
        
        //循环联系人表
        Cursor cursor=resolver.query(uri, new String[]{"contact_id"}, null, null, null);
        while(cursor.moveToNext()){
            String id=cursor.getString(cursor.getColumnIndex("contact_id"));
            if(id!=null){
                Map<String,String> contact=new HashMap<String,String>();
                //查找数据表
                Cursor dataCursor=resolver.query(dataUri, new String[]{"data1","mimetype"},"raw_contact_id=?", new String[]{id}, null);
                while(dataCursor.moveToNext()){
                    String data1=dataCursor.getString(dataCursor.getColumnIndex("data1"));
                    String mimetype=dataCursor.getString(dataCursor.getColumnIndex("mimetype")); 
                    System.out.println("data1:"+data1+",mimetype:"+mimetype);
                    if(mimetype.equals("vnd.android.cursor.item/name")){
                        contact.put("name", data1);
                    }else if(mimetype.equals("vnd.android.cursor.item/phone_v2")){
                        contact.put("phone", data1);
                    }
                }
                contacts.add(contact);
                dataCursor.close();
            }
        }
        cursor.close();
        return contacts;
    }
}

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android菜单(动画菜单、360波纹菜单),android波纹
  • Android 手机卫士17--缓存清理,android17--
  • Android 手机卫士13--进程设置,android13--
  • Android 手机卫士10--应用管理器,android10--
  • Android 手机卫士8--删除通话记录,android8--
  • Android 手机卫士--导航界面4的业务逻辑,android卫士
  • Android 手机卫士--平移动画实现,android卫士
  • Android 手机卫士--获取联系人信息并显示与回显,android回显
  • Android 手机卫士--参照文档编写选择器,android选择器
  • Android 手机卫士--导航界面2,android卫士

相关文章

  • 2017-05-26手机无须ROOT不用修改hosts即可在本地测试安卓、苹果APP和H5应用,安卓h5
  • 2017-05-26Android View分区域点击实现方案——1.根据坐标范围
  • 2017-05-26Android Studio 2.0 beta 7 发布
  • 2017-05-26开源图表库MPAndroidChart使用介绍之饼状图&amp;折线图&amp;柱状图,图表mpandroidchart
  • 2017-05-26Android安全专项-AndBug动态调试工具环境搭建
  • 2017-05-26贝塞尔曲线实现的购物车添加商品动画效果,贝塞尔购物车
  • 2017-05-26make menuconfig Kconfig Makefile .config的关系
  • 2017-05-26IDA动态调试Android的DEX文件
  • 2017-05-26ViewPager和Fragment的组合使用,viewpagerfragment
  • 2017-05-26Android入门(九)文件存储与SharedPreferences存储,

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入了解Volley如何执行一个Request的流程
    • Android 点击文字实现跳转,android跳转
    • 关于Android发送短信获取送达报告的问题,android发送短信
    • Android,androidstudio
    • Android——Listview不用notifydatasetchanged更新数据的方法,androidlistview更新
    • ULog远程日志——让Android调试更加方便直观
    • 点击文本改变改行背景色,弹出对话框,改行背景
    • Tips:datapump异常中断后的处理
    • Android 查看自己的keystore的别名及相关信息,androidkeystore
    • 2015年Android作品集

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有