android读取联系人信息(学习版)
package com.activity;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts;
import android.provider.Contacts.People;
import android.widget.TextView;
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.TextView01);
String columns[] = new String[] { People._ID, People.NAME,
People.NUMBER, People.PRIMARY_EMAIL_ID,
People.PRIMARY_ORGANIZATION_ID, People.PRIMARY_PHONE_ID,
People.DISPLAY_NAME,
People.IM_ACCOUNT, People.IM_HANDLE, People.PHONETIC_NAME,
People.TYPE };
Uri mContacts = People.CONTENT_URI;
Cursor cur = managedQuery(mContacts, columns, // 要返回的数据字段
null, // WHERE子句
null, // WHERE 子句的参数
People.NAME // Order-by子句
);
if (cur.moveToFirst()) {
Cursor newcur = null;
do {
// 获取字段的值
String name = cur.getString(cur.getColumnIndex(People.NAME));
String phoneNo = cur.getString(cur
.getColumnIndex(People.NUMBER));
String peopleId = cur.getString(cur.getColumnIndex(People._ID));
String[] PROJECTION = new String[] {
Contacts.ContactMethods._ID,
Contacts.ContactMethods.KIND,
Contacts.ContactMethods.DATA };
newcur = managedQuery(Contacts.ContactMethods.CONTENT_URI,
PROJECTION, Contacts.ContactMethods.PERSON_ID + "=\'"
+ cur.getLong(cur.getColumnIndex(People._ID))
+ "\'", null, null);
startManagingCursor(newcur);
String email = "";
if (newcur.moveToFirst()) {
while (newcur.moveToNext()) {
email = email+ newcur.getString(newcur.getColumnIndex(Contacts.ContactMethods.DATA));
}
}
tv.setText("name = " + name + " phoneNo = " + phoneNo
+ "email = " + email);
if (email != null && !"".equals(email)
&& email.trim().length() != 0) {
// 此处可以取到联系人邮件
}
} while (cur.moveToNext());
if (newcur != null) {
newcur.close();// 用完得关闭吧
}
}
if (cur != null)
cur.close(); // 用完得关闭吧
}
}
更多相关文章
- Android的SMS短消息格式和主要字段
- Android 查询字段
- android 联系人源码分析 新字段的添加流程
- Android中ps命令各字段的含义
- Android-->获取所有联系人以及所有的字段(联系人头像,邮箱,地址,
- android常用数据库字段描述