ContentProvider简单使用 package com.song; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract.Contacts; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class ContactsListActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ListView listView = new ListView(this); // 得到联系人目录 Cursor cursor = getContentResolver().query(Contacts.CONTENT_URI, null, null, null, null); //在使用数据库的时候,使用完需要关闭。使用cursor的时候,可以将cursor的生命周期交给activity托管 startManagingCursor(cursor); /*在item中只显示属性的时候,可以直接使用android.R.layout.simple_expandable_list_item_1, * 这个系统默认的item布局,只包含一个textview. * String[] from = new String[] { Contacts._ID, Contacts.DISPLAY_NAME }; * int[] to = new int[] { android.R.id.text2, android.R.id.text1 }; * SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, * android.R.layout.simple_expandable_list_item_1, cursor, from, to); */ //需要显示多个的时候,可以自己写一个listview_item.xml String[] from = new String[] { Contacts._ID, Contacts.DISPLAY_NAME }; int[] to = new int[] { R.id.tv_id, R.id.tv_name }; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.listview_item, cursor, from, to); listView.setAdapter(adapter); setContentView(listView); } }