4 2利用內容提供者查詢和新增聯絡人

2021-07-04 16:47:45 字數 1240 閱讀 2538

作業系統簡訊的uri: content://sms/

查詢聯絡人: raw_contacts(存放聯絡人的id), data(id對應的姓名內容)

查詢:

1. 去raw_contacts表中取所有聯絡人的_id

2. 去data表中根據上面取到的_id查詢對應id的資料.

content:

content:

新增:

1. 在raw_contacts表中新增乙個記錄

2. 根據上面新增記錄的id, 取data表中新增三條資料

private

void

printcursor(cursor cursor)

}cursor.close();}}

/*** 查詢聯絡人

*@param v

*/public

void

querycontacts(view v) , null, null, null);

// printcursor(cursor);

if(cursor != null && cursor.getcount() > 0) ;

cursor c = getcontentresolver().query(datauri, new string,

selection, selectionargs, null);

if(c != null && c.getcount() > 0) else

if("vnd.android.cursor.item/name".equals(mimetype)) else

if("vnd.android.cursor.item/email_v2".equals(mimetype))

}c.close();}}

cursor.close();}}

public

void

addcontacts(view v) , null, null, "contact_id desc limit 1");

if(cursor != null && cursor.movetofirst())

}

聯絡人讀寫的許可權申明:

android:name="android.permission.read_contacts"/>

android:name="android.permission.write_contacts"/>

內容提供者

public class personcontentprovider extends contentprovider override public boolean oncreate 作用 判斷 傳進來的 uri 查詢的是一條資料 還是多條資料 override public string gett...

內容提供者

package com.xh.tx.utils import android.content.context import android.database.sqlite.sqlitedatabase import android.database.sqlite.sqlitedatabase.cur...

內容提供者

讀取系統簡訊,首先查詢原始碼獲得簡訊資料庫內容提供者的主機名和路徑,然後 contentresolver cr getcontentresolver cursor c cr.query uri.parse content sms new string,null,null,null while c.m...