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

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

概述获取ContentResolver内容解析器对象,通过getContentResolver()方法 调用ContentResolver对象的query()方法,得到raw_contacts表里面的数据

 

获取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; java.util.HashMap; java.util.List; java.util.Map; androID.content.ContentResolver; androID.content.Context; androID.database.Cursor; androID.net.Uri;/** * 读取手机联系人 * @author taoshihan * */public class PhoneContactsUtil {    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,1)">();                //循环联系人表        Cursor cursor=resolver.query(uri,new String[]{"contact_ID"},1)">null,1)">null);        while(cursor.movetoNext()){            String ID=cursor.getString(cursor.getColumnIndex("contact_ID"));            if(ID!=){                Map<String,String> contact=new HashMap<String,String>();                查找数据表                Cursor dataCursor=resolver.query(dataUri,1)">new String[]{"data1","mimetype"},"raw_contact_ID=?",1)">new String[]{ID},1)">);                (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"return contacts;    }}

 

总结

以上是内存溢出为你收集整理的[android] 手机卫士读取联系人全部内容,希望文章能够帮你解决[android] 手机卫士读取联系人所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存