本文实例讲述了Android编程基于Contacts读取联系人的方法。分享给大家供大家参考,具体如下:
Android Contacts简介:
这里介绍安卓通讯录数据库。包括Android使用Contacts访问SQLite的基本知识,并了解Android SQLite和Contacts的更多信息。谷歌改变了从版本1到版本2的Contacts数据库。下面加以简单介绍。
Contacts 读取代码:
package com.homer.phone; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.widget.ListView; import android.widget.SimpleAdapter; public class phoneRead extends Activity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); showListView(); } private void showListView(){ ListView listView = new ListView(this); ArrayList> list = getPeopleInPhone2(); SimpleAdapter adapter = new SimpleAdapter( this, list, android.R.layout.simple_list_item_2, new String[] {"peopleName", "phoneNum"}, new int[]{android.R.id.text1, android.R.id.text2} ); listView.setAdapter(adapter); setContentView(listView); } private ArrayList > getPeopleInPhone2(){ ArrayList > list = new ArrayList >(); Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); // 获取手机联系人 while (cursor.moveToNext()) { HashMap map = new HashMap (); int indexPeopleName = cursor.getColumnIndex(Phone.DISPLAY_NAME); // people name int indexPhOneNum= cursor.getColumnIndex(Phone.NUMBER); // phone number String strPeopleName = cursor.getString(indexPeopleName); String strPhOneNum= cursor.getString(indexPhoneNum); map.put("peopleName", strPeopleName); map.put("phoneNum", strPhoneNum); list.add(map); } if(!cursor.isClosed()){ cursor.close(); cursor = null; } return list; } }
AndroidManifest.xml 权限
记得在AndroidManifest.xml中加入android.permission.READ_CONTACTS这个permission
运行结果:
示例代码点击此处本站下载。
希望本文所述对大家Android程序设计有所帮助。