首先需要新增許可權
android:name="android.permission.read_contacts"/>
要使用content provider提供的資訊,首先需要得到contentresolver,
contentresolver contentresolver =getcontentresolver();
接下來可以通過query方法來獲取聯絡人資訊:
query((uri uri, string projection, string selection, string selectionargs, string sortorder));
要獲取聯絡人的資訊,第乙個引數填 phone.content_url;
第二個引數可以對得到的資訊的列進行刪選,比如說第二個引數為 phone.display_name,則會得到聯絡人的名字;第二個引數為,則會返回聯絡人的名字和號碼;若第二個引數為null,則返回全部資訊,不進行篩選;
第三個引數是用來配合第二個引數的,當第二個引數中有「?」的時候,第三個引數可以替代這個「?」;
第四個引數表示排序,設為null表示不需要排序。
為了得到聯絡人的姓名和**號碼,可以這樣:
首先定義乙個物件,儲存名字和號碼:
public
class contactinfo
public string getname()
public
void
setname(string name)
public string getnumber()
public
void
setnumber(string number)
}
然後得到聯絡人資訊並將資訊以contactinfo物件列表的形式返回
listlist = new arraylist<>();
public
list
getcontact(context context)
}
如何新增Content Provider
一 寫在前面 一直很好奇系統是如何通過 content 來訪問歸屬地資料庫的,通過研究 和api參考文件以及網路上的資料基本上弄明白了,於是有了以下的內容。二 android content provider介紹 三 content provider的組成 四 新增content provider ...
ContentProvider基本使用
在不同應用之間實現資料共享,並保證安全性 比較 新增 沒有條件約束,刪除 沒有資料contentvalues getcontentresolver insert uri uri,contentvalues values getcontentresolver update uri uri,conten...
ContentProvider簡單使用
一是使用內容提供器讀取和操作其他應用程式的資料 二是建立內容提供器給該程式的資料提供外部訪問介面 如 簿,簡訊,庫,都有內容提供器讓它們的資料有外部訪問介面 內容提供器提供的資料外部訪問介面是乙個uri.它由authority和path組成 path相當於不同的表加在authority的後面。如有表...