在许多时候我们需要将数据库表中的数据显示在ListView等组件中,虽然可以直接使用Adapter对象

 做处理,但是工作量会非常大。为此,Android SDK提供了一个专用于数据绑定的了SimpleCursorAdapter

        SimpleCursorAdapter与SimpleAdapter用法相似,从其的构造方法就可以看出来:

public SimpleCursorAdapter(Context context,int layout,Cursor c,String[] from,int[] to);
         可以看出SimpleCursorAdapter类的构造方法只是将SimpleAdapter构造方法里面的List对象换成了

  Cursor对象。下面通过一个例子程序演示器用法:

             activity_main.xml

                           
           ListView自定义的布局文件

                           
          MainActivity.java文件:

package com.kiritor;  import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.Contacts.People; import android.view.Menu; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter;  public class MainActivity extends Activity {  	private ListView listView = null; 	@Override 	protected void onCreate(Bundle savedInstanceState) { 		super.onCreate(savedInstanceState); 		setContentView(R.layout.activity_main); 		listView = (ListView) findViewById(R.id.contract_list); 		Cursor c=getContentResolver().query(People.CONTENT_URI,    			       null, null, null, null);          			        startManagingCursor(c);    			        @SuppressWarnings("deprecation") 					ListAdapter adapter = new SimpleCursorAdapter(this,     			                 R.layout.contract_list,    			                 c,     			                 new String[] {People.NAME,People.PRIMARY_EMAIL_ID} ,    			                 new int[] {R.id.name,R.id.email});     			        listView.setAdapter(adapter);    	}  	@Override 	public boolean onCreateOptionsMenu(Menu menu) { 		// Inflate the menu; this adds items to the action bar if it is present. 		getMenuInflater().inflate(R.menu.main, menu); 		return true; 	}  } 
       需要说明的是,该程序能够得到想象中的效果首先必须添加联系人(这里我只添加了一个)

        其次,必须在配置文件中添加读取联系人的权限:

  
        程序运行效果图: