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

转载 2015年11月18日 16:17:32

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

相关文章推荐

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

Introduction To Android Contacts Learn to work with the Android contacts database. Basic knowledge ...

android——联系人——contacts2.db

方法备忘:根据contact_id获取联系人信息,并且将mobile类型的电话号码作为首选。 private Person getPhoneContacts(String contactId) { ...
  • ymlxku
  • ymlxku
  • 2013年04月19日 10:36
  • 1205

Android使用READ_CONTACTS读取手机联系人

实例代码:package com.example.readcontacts;import java.io.InputStream;import java.util.ArrayList;import a...

Android Contacts(二)—— SMS 短信 与 Contacts 联系人关联

Android 的SMS读取短信,可以获取发信人/收信人的手机号码(address),Contacts的联系人,可以过滤手机号码(address),因此SMS可以通过手机号码(address)关联到C...

android4.0联系人Contacts源代码

  • 2012年06月22日 22:39
  • 3.82MB
  • 下载

android4.1 联系人模块源码 Contacts.rar

  • 2012年08月10日 13:14
  • 3.17MB
  • 下载

Android联系人Contacts详解

只是获取了联系人的ID和NAME,但是这是远远不够的,怎么样获取其他的值呢? public void fetchContactInformation() { Stri...

android4.0 Contacts 联系人jar包

  • 2013年04月02日 15:08
  • 42.52MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Contacts(一)—— 读取联系人
举报原因:
原因补充:

(最多只允许输入30个字)