这个示例是通过使用Cursor对联系人数据进行调用。
调用Contacts的数据,需要在Manifest中设置权限如下:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
//定义选取Contacts数据的条件
String select = "((" + Contacts.DISPLAY_NAME + " NOTNULL) AND ("
+ Contacts.HAS_PHONE_NUMBER + "=1) AND ("
+ Contacts.DISPLAY_NAME + " != '' ))";
//取得Cursor
Cursor c =
getContentResolver().query(Contacts.CONTENT_URI, CONTACTS_SUMMARY_PROJECTION, select,
null, Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
//使Cursor与Activity绑定起来,Cursor的生命周期与Activity一样
startManagingCursor(c);
public final Cursor query (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
uri:要获取数据的URL
projection:所要查询的表的列,可以设置为null,返回所有的列
selection:查询表的条件,像sql那样实现
selectionArgs:设置多个查询的条件
sortOrder:排序方式,null为默认方式排序
public void startManagingCursor (Cursor c)
使目标Corsor的生命周期与当前Activity的生命周期绑定