关闭

Android Contacts(一)—— 读取联系人

标签: AndroidContacts读取通讯录联系人
281人阅读 评论(0) 收藏 举报
分类:

Introduction To Android Contacts

Learn to work with the Android contacts database. Basic knowledge of accessing SQLite in Android along with using Cursors is expected. See the Android SQLite and Cursor Article for more information. Google changed the contacts database moving from 1.x to 2.0 versions of Android. This tutorial will be broken into 3 sections. First covering accessing contacts in Android 2.0. The second page will deal with accessing the contacts in Android 1.6 and before. Third we'll glue it all together with a class that abstracts specific classes for each version and a set of classes to manage the data from the contact records.


Contacts 读取代码:

  1. package com.homer.phone;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5.   
  6. import android.app.Activity;  
  7. import android.database.Cursor;  
  8. import android.os.Bundle;  
  9. import android.provider.ContactsContract;  
  10. import android.provider.ContactsContract.CommonDataKinds.Phone;  
  11. import android.widget.ListView;  
  12. import android.widget.SimpleAdapter;  
  13.   
  14. public class phoneRead extends Activity {  
  15.         
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState){  
  18.         super.onCreate(savedInstanceState);  
  19.           
  20.         showListView();  
  21.     }  
  22.       
  23.     private void showListView(){  
  24.         ListView listView = new ListView(this);  
  25.           
  26.         ArrayList<HashMap<String, String>> list = getPeopleInPhone2();  
  27.         SimpleAdapter adapter = new SimpleAdapter(  
  28.                                     this,   
  29.                                     list,   
  30.                                     android.R.layout.simple_list_item_2,   
  31.                                     new String[] {"peopleName""phoneNum"},   
  32.                                     new int[]{android.R.id.text1, android.R.id.text2}  
  33.                                 );  
  34.         listView.setAdapter(adapter);  
  35.           
  36.         setContentView(listView);  
  37.     }  
  38.       
  39.     private ArrayList<HashMap<String, String>> getPeopleInPhone2(){  
  40.         ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();  
  41.           
  42.         Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, nullnullnullnull);     // 获取手机联系人  
  43.         while (cursor.moveToNext()) {  
  44.             HashMap<String, String> map = new HashMap<String, String>();  
  45.               
  46.             int indexPeopleName = cursor.getColumnIndex(Phone.DISPLAY_NAME);    // people name  
  47.             int indexPhoneNum = cursor.getColumnIndex(Phone.NUMBER);            // phone number  
  48.   
  49.             String strPeopleName = cursor.getString(indexPeopleName);  
  50.             String strPhoneNum = cursor.getString(indexPhoneNum);  
  51.   
  52.             map.put("peopleName", strPeopleName);  
  53.             map.put("phoneNum", strPhoneNum);  
  54.             list.add(map);  
  55.         }  
  56.         if(!cursor.isClosed()){  
  57.             cursor.close();  
  58.             cursor = null;  
  59.         }  
  60.           
  61.         return list;  
  62.     }  
  63. }  

AndroidManifest.xml 权限

 记得在AndroidManifest.xml中加入android.permission.READ_CONTACTS这个permission

<uses-permission android:name="android.permission.READ_CONTACTS" />


运行结果:



代码示例


参考推荐:

Working With Android Contacts

Android Contacts的使用 


转自:http://blog.csdn.net/sunboy_2050/article/details/7328590

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android contacts 联系人 通讯录 源码 完全解析

Android contacts 联系人 通讯录 源码 完全解析 1简介 2软件架构 3各功能模块分析 1联系人数据的显示 1联系人列表显示 2联系人详细信息数据的显示 2联系人数据的编辑和存储 1编辑界面相关 2数据存储相关 3Sim联系人数据的整合 1Sim卡联系人数据的显示 2开机自动导入Si...
  • MarcoZhan
  • MarcoZhan
  • 2017-03-07 19:10
  • 1193

IOS Contacts获取联系人

iOS 9使用Contacts框架获取联系人,如果为了适配低于IOS 9版本还是用AddressBook吧,或者通过判断系统版本号来适配不同的手机。APPle官方文档 新框架中将要使用最多的应该就是CNContactStore这个类了,官方对其的定义是一个线程安全的,用来执行查询和修改操作的类。此...
  • bobbob32
  • bobbob32
  • 2017-03-11 12:32
  • 492

Android 学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联系人

1.查找、增加、删除、修改联系人 直接贴代码: ContactsManager.java [java] view plain copy package com.example.siqi.contac...
  • u012398902
  • u012398902
  • 2016-03-22 14:45
  • 539

Android5.1中Contacts模块拨号加载联系人信息流程

基于5.1代码Contacts模块拨号流程   之前的总结介绍过联系人界面的快速拨号流程以及显示界面的接收数据过程,现在着重讲中间是怎么从OutgoingBroadcast过来拨号界面,中间的联系人信息是如何传递的,以及传递的框架机制。本文通过bug“联系人中多个不同联系人相同号码拨号时如...
  • yaoyajun2014
  • yaoyajun2014
  • 2016-01-01 16:48
  • 1851

Android Contacts(一)—— 读取联系人

Introduction To Android Contacts Learn to work with the Android contacts database. Basic knowledge of accessing SQLite in Android along with using Cur...
  • xh16319
  • xh16319
  • 2013-10-19 00:12
  • 474

Android Contacts(一)—— 读取联系人

Android Contacts(一)—— 读取联系人 分类: Android2012-03-07 14:01 3509人阅读 评论(0) 收藏 举报 androidlistviewstringsqlitelistnull ...
  • pi9nc
  • pi9nc
  • 2013-07-08 09:46
  • 678

SDK23 读取联系人 权限拒绝

Permission Denial opening provider... requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS 权限拒绝 且在 mainfest里配置了权限 运行环境为 SDK2...
  • suntiezhu101288
  • suntiezhu101288
  • 2015-11-13 16:05
  • 2756

联系人存储ContactsProvider表分析

ContactsProvider建表的都在 packages/providers/ContactsProvider/src/com/android/providers/contacts/ContactsDatabaseHelper.java 首先该文件中有个Tables接口,其中的常量定义了数据库中...
  • firedancer0089
  • firedancer0089
  • 2017-03-28 10:19
  • 840

Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼)

Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼) 2013年12月10日 工作记录 小巫在工作中碰到一个需求,要求实现通讯录联系人的搜索,获取联系人的方式有好几种,我都有点混乱了,下面提供我最近用的一种,看起来还算比较简洁的,它是根据mimetypes表来查的。 //...
  • wwj_748
  • wwj_748
  • 2013-12-10 11:09
  • 32253

Android5.1中Contacts模块拨号加载联系人信息流程

基于5.1代码Contacts模块拨号流程   之前的总结介绍过联系人界面的快速拨号流程以及显示界面的接收数据过程,现在着重讲中间是怎么从OutgoingBroadcast过来拨号界面,中间的联系人信息是如何传递的,以及传递的框架机制。本文通过bug“联系人中多个不同联系人相同...
  • csh86277516
  • csh86277516
  • 2016-07-01 11:36
  • 1336
    个人资料
    • 访问:195999次
    • 积分:2756
    • 等级:
    • 排名:第15097名
    • 原创:24篇
    • 转载:356篇
    • 译文:2篇
    • 评论:4条
    最新评论