利用ContentProvider获取手机中联系人的信息
2012-10-25 10:45
337 查看
手机里面的联系人google的源码已经利用ContentProvider 共享了出来,ContentProvider的底层使用SQLite数据库实现的,所以其对数据的各种操作都是用sql实现的,只是在上层提供的是URI
可以通过两种方法创建ContentProvider :
一:创建属于你自己的ContentProvider
二:将你的数据添加到已经存在的一个ContentProvider中,但是前提是:有相同的数据类型,并且有写入的权限
外界可以通过Android提供的ContentResolver 访问ContentProvider提供的数据
下面是通过ContentResolver 来获取手机中的联系人和联系人的号码:
可以通过两种方法创建ContentProvider :
一:创建属于你自己的ContentProvider
二:将你的数据添加到已经存在的一个ContentProvider中,但是前提是:有相同的数据类型,并且有写入的权限
外界可以通过Android提供的ContentResolver 访问ContentProvider提供的数据
下面是通过ContentResolver 来获取手机中的联系人和联系人的号码:
public List<Friend> loadContacts(){ List<Friend> list = new ArrayList<Friend>(); // 得到客户端 ContentResolver cr = context.getContentResolver(); Cursor cursor = cr.query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null); if (cursor.moveToFirst()){ do { Friend friend = new Friend(); // 联系人的姓名 String contactsName = cursor.getString( cursor.getColumnIndex( ContactsContract.Contacts.DISPLAY_NAME)); // 联系人在数据库里面的ID String pId = cursor.getString( cursor.getColumnIndex( ContactsContract.Contacts._ID));// 文档上建议用LOOKUP_KEY来代替 Cursor phoneCursor = cr.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + pId, null, null); String number=null; if(phoneCursor.moveToFirst()){ do{ // 电话号码 number = phoneCursor.getString( phoneCursor.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER)); }while(phoneCursor.moveToNext()); friend.name=contactsName; friend.phone =number; list.add(friend); } } while(cursor.moveToNext()); } return list; }
相关文章推荐
- 利用ContentResolver内容访问者获取手机联系人信息
- android利用ContentResolver访问者获取手机联系人信息
- 获取ContentProvider来获取手机所有的联系人及联系人信息
- ContentProvider与隐式Intent获取手机联系人通讯录信息或电话的方法
- Android 利用ContentProvider获取联系人信息
- ContentProvider与隐式Intent获取手机联系人通讯录信息或电话的方法
- Android 获取手机联系人信息
- 有时候需要统计手机的型号和版本号,利用程序可以获取到相应的手机信息.
- android利用ContentResolver访问者获取手机短信信息
- Android ContentResolver ContactsContract 获取手机联系人信息
- android 获取手机联系人信息
- android获取手机联系人信息(电话,邮箱,姓名,头像)
- 利用手机gps获取经纬信息定位
- iOS开发之获取手机通讯录联系人信息<二>
- Android 获取手机联系人信息
- 通过ContentResolver获取手机中的联系人信息
- Android学习篇章38-ContentProvider-获取联系人信息
- 越狱的 ios 如何 获取 读取 提取 手机上的 短信 通话记录 联系人 等信息
- iOS开发之获取手机通讯录联系人信息<一>
- Phone---获取手机联系人信息