1.javabean: ContentInfo类
public class ContactInfo {
private String name;
private String number;
public ContactInfo(String name, String number) {
super();
this.name = name;
this.number = number;
}
public ContactInfo() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public String toString() {
return "ContactInfo [name=" + name + ", number=" + number + "]";
}
}
2.查询数据库: ContentInfoProvider类
public class ContactInfoProvider {
private ContactInfo contactInfo;
public List<ContactInfo> provide(Context context){
List<ContactInfo> infos=new ArrayList<ContactInfo>();
ContentResolver contentResolver=context.getContentResolver();
Uri rawcontactUri=Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri=Uri.parse("content://com.android.contacts/data");
Cursor cursor = contentResolver.query(rawcontactUri, new String[]{"contact_id"}, null, null, null);
while(cursor.moveToNext()){
contactInfo=new ContactInfo();
String id=cursor.getString(0);
Cursor dataCursor=contentResolver.query(dataUri, new String[]{"data1","mimetype"}, "raw_contact_id=?", new String[]{id}, null);
while (dataCursor.moveToNext()){
String data1=dataCursor.getString(0);
String mimetype=dataCursor.getString(1);
if (mimetype.equals("vnd.android.cursor.item/name")){
contactInfo.setName(data1);
} else if (mimetype.equals("vnd.android.cursor.item/phone_v2")){
contactInfo.setNumber(data1);
}
}
infos.add(contactInfo);
dataCursor.close();
}
cursor.close();
return infos;
}
}
3.遍历infos集合
for (ContactInfo info : infos) {
Log.i(TAG, info.toString());
}