1、布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:textSize="25dp" />
</LinearLayout>
2、MainActivity
public class MainActivity extends Activity {
private String[] columns = {Contacts._ID,//希望获得ID值
Contacts.DISPLAY_NAME};//希望获得姓名
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView)findViewById(R.id.result);
tv.setText(getQueryData());//为标签设置数据
}
private String getQueryData(){
StringBuilder sb = new StringBuilder();//用于保存字符串
ContentResolver resolver = getContentResolver();//获得ContentResolver对象
Cursor cursor = resolver.query(Contacts.CONTENT_URI, columns, null, null, null);//查询记录
int idIndex = cursor.getColumnIndex(columns[0]);//获得id记录的索引值
int displayNameIndex = cursor.getColumnIndex(columns[1]);//获得姓名记录的索引值
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {// 迭代全部记录
int id = cursor.getInt(idIndex);
String displayName = cursor.getString(displayNameIndex);
sb.append(id + ": " + displayName + "\n");
}
cursor.close();//关闭Cursor
return sb.toString();//返回查询结果
}
}
<uses-permission android:name="android.permission.READ_CONTACTS"/>