手機聯絡人的讀取和插入

2021-07-31 16:59:24 字數 2833 閱讀 3594

① 獲取內容解析者

contentresolver resolver = getcontentresolver();
② 建立uri

uri raw_contacts = uri.parse("content:");

uri data = uri.parse("content:");

③ 先查詢raw_contents表中的content_id

cursor cursor = resolver.query(raw_contacts, new string, null, null, null);
④ 遍歷其中的內容

while (cursor.movetonext()), "raw_contact_id=?", new string, null);

while (cursor1.movetonext())else if ("vnd.android.cursor.item/phone_v2".equals(mimetype))else if ("vnd.android.cursor.item/email_v2".equals(mimetype))else if ("vnd.android.cursor.item/postal-address_v2".equals(mimetype))

contats.add(contat);

}}

⑤ 將存在集合中的內容便利出來

//所有內容都儲存在了集合中

for(contat contat:contats)

注意:

在讀取聯絡人的時候需要許可權

① 獲取使用者的輸入

et_name = (edittext) findviewbyid(r.id.et_name);

et_tel = (edittext) findviewbyid(r.id.et_tel);

et_address = (edittext) findviewbyid(r.id.et_address);

et_email = (edittext) findviewbyid(r.id.et_email);

string address = et_address.gettext().tostring().trim();

string name = et_name.gettext().tostring().trim();

string tel = et_tel.gettext().tostring().trim();

string email = et_email.gettext().tostring().trim();

② 獲取內容解析者

contentresolver resolver = getcontentresolver();
③ 建立查詢raw_contacts表的uri

uri raw_contacts = uri.parse("content:");

uri data = uri.parse("content:");

④ 獲取已經存在的聯絡人個數 查詢raw_contat表中有多少資料,並獲取要插入的id

cursor cursor = resolver.query(raw_contacts, new string, null, null, null);

int count = cursor.getcount() + 1;

⑤ 向raw_contact插入資料

contentvalues values = new contentvalues();

values.put("contact_id",count);

resolver.insert(raw_contacts,values);

//向data中插入資料raw_contat_id是一樣的

contentvalues values1 = new contentvalues();

//插入位址資料

values1.put("raw_contact_id",count);

values1.put("data1",address);

values1.put("mimetype","vnd.android.cursor.item/postal-address_v2");

resolver.insert(data,values1);

//插入姓名資料

values1.put("data1",name);

values1.put("mimetype","vnd.android.cursor.item/name");

resolver.insert(data,values1);

//插入**資料

values1.put("data1",tel);

values1.put("mimetype","vnd.android.cursor.item/phone_v2");

resolver.insert(data,values1);

//插入郵箱資料

values1.put("data1",email);

values1.put("mimetype","vnd.android.cursor.item/email_v2");

resolver.insert(data,values1);

注意:

讀取和插入手機聯絡人資訊,需要獲取許可權

android 讀取手機聯絡人

authorities 當局 1 到開發環境data data 目錄下 com.android.providers.contacts databases 匯出到左面contacts2.db 2 用工具開啟資料庫關心三張表 raw contacts data mimetypes 3 建立乙個新的工程去...

讀取系統聯絡人

contentprovider讀取 號碼的uri contactscontract.commondatakinds.phone.content uri contentprovider掃瞄本地路徑uri mediastore.images.media.external content uri cont...

讀取手機聯絡人,複雜 姓名,電話,郵箱

增加許可權,讀取聯絡人,和新增新增聯絡人,根據自己需求新增 raw contacts 這個表中存放的是聯絡人的id data 這個表中存放的是聯絡人的資訊,例如 姓名 郵箱 自定義方法查詢手機聯絡人 private void selectcontact null person p new perso...