本文實例講述了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<HashMap<String, String>> 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<HashMap<String, String>> getPeopleInPhone2(){ ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); // 獲取手機聯系人 while (cursor.moveToNext()) { HashMap<String, String> map = new HashMap<String, String>(); 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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選