android分页查询获取系统联系人信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android分页查询获取系统联系人信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2874字,纯文字阅读大概需要5分钟。
内容图文
package com.example.yqqmobilesafe.ContactProvider; import java.util.ArrayList; import java.util.List; import android.R.integer; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.provider.ContactsContract; import com.example.yqqmobilesafe.domain.ContactInfo; public class ContactInfoProvider { private Context mContext; public ContactInfoProvider(Context context) { mContext=context; } /** * 获取系统联系人信息 * @return */ public List<ContactInfo> getSystemContactInfos(){ List<ContactInfo> infos=new ArrayList<ContactInfo>(); // 使用ContentResolver查找联系人数据 Cursor cursor = mContext.getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null); // 遍历查询结果,获取系统中所有联系人 while (cursor.moveToNext()) { ContactInfo info=new ContactInfo(); // 获取联系人ID String contactId = cursor.getString(cursor .getColumnIndex(ContactsContract.Contacts._ID)); // 获取联系人的名字 String name = cursor.getString(cursor.getColumnIndex( ContactsContract.Contacts.DISPLAY_NAME)); info.setContactName(name); // 使用ContentResolver查找联系人的电话号码 Cursor phones = mContext.getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); // 遍历查询结果,获取该联系人的多个电话号码 while (phones.moveToNext()) { // 获取查询结果中电话号码列中数据。 String phoneNumber = phones.getString(phones .getColumnIndex(ContactsContract .CommonDataKinds.Phone.NUMBER)); info.setPhoneNumber(phoneNumber); } phones.close(); infos.add(info); info=null; } cursor.close(); return infos; } /** * 分页查询系统联系人信息 * @param pageSize 每页最大的数目 * @param currentOffset 当前的偏移量 * @return */ public List<ContactInfo> getContactsByPage(int pageSize,int currentOffset) { List<ContactInfo> infos=new ArrayList<ContactInfo>(); Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; String[] projection = { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.DATA1, "sort_key"}; Cursor cursor = mContext.getContentResolver().query(uri, projection, null, null, "sort_key COLLATE LOCALIZED asc limit " + pageSize + " offset " + currentOffset); if (cursor != null) { while (cursor.moveToNext()) { ContactInfo info=new ContactInfo(); String contactName = cursor.getString(0); String phoneNumber = cursor.getString(1); info.setContactName(contactName); info.setPhoneNumber(phoneNumber); infos.add(info); info=null; } cursor.close(); } return infos; } /** * 获得系统联系人的所有记录数目 * @return */ public int getAllCounts(){ int num=0; // 使用ContentResolver查找联系人数据 Cursor cursor = mContext.getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null); // 遍历查询结果,获取系统中所有联系人 while (cursor.moveToNext()) { num++; } cursor.close(); return num; } }
原文:http://blog.csdn.net/u014600432/article/details/41440491
内容总结
以上是互联网集市为您收集整理的android分页查询获取系统联系人信息全部内容,希望文章能够帮你解决android分页查询获取系统联系人信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。