推荐阅读:
浅析Android手机卫士sim卡绑定
深入浅析Android手机卫士保存密码时进行md5加密
详解Android 手机卫士设置向导页面
浅析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);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;}}
以上内容是小编给大家介绍的androID 手机卫士读取联系人的相关介绍,希望对大家有所帮助!
总结以上是内存溢出为你收集整理的浅析Android手机卫士读取联系人全部内容,希望文章能够帮你解决浅析Android手机卫士读取联系人所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)