Android四大元件之一 內容提供者

2021-09-22 20:19:04 字數 2120 閱讀 1825

索要方 (contentreslver)

內容提供方(contentprovider)

contentprovider內容提供者(四大元件之一)主要用於在不同的應用程式之間實現資料共享的功能。

1.提供方:contentprovider

(1)建立資料庫,自定義類繼承sqliteopenhelper

(2)自定義內容提供者類,繼承contentprovider,重寫insert/delete/update/query方法,向外界提供方法

(3)清單檔案中註冊內容提供者

2.索要方:contentresolver

(1)通過context的getcontentresolver方法獲得contentresolver物件

(2)確定uri

(3)呼叫insert/delete/update/query方法訪問資料庫

新增獲取手機聯絡人的許可權

"android.permission.read_contacts"

/>

uri:contactscontract.commondatakinds.phone.content_uri

字段:contactscontract.commondatakinds.phone.display_name:姓名

contactscontract.commondatakinds.phone.number:**

獲取手機通訊錄聯絡人資訊 用log輸出

contentresolver resolver =

getcontentresolver()

; uri uri= contactscontract.commondatakinds.phone.

content_uri

; string[

] strings=

; cursor query = resolver.

query

(uri, strings,

null

,null

,null);

while

(query.

movetonext()

)

自定義繼承類 重寫6個方法

private myhelper myhelper;

private sqlitedatabase db;

public

mycontentprovider()

@override

public boolean oncreate()

else

} @override

public int delete

(uri uri, string selection, string[

] selectionargs)

@override

public string gettype

(uri uri)

@override

public uri insert

(uri uri, contentvalues values)

@override

public cursor query

(uri uri, string[

] projection, string selection,

string[

] selectionargs, string sortorder)

@override

public int update

(uri uri, contentvalues values, string selection,

string[

] selectionargs)

清單檔案註冊

android:name=

".mycontentprovider"

android:authorities=

"com.wangpeng.shuaige"

android:enabled=

"true"

android:exported=

"true"

/>

四大元件之一BroadCastRecevier

broadcastrecevier廣播接收者 經典案列發蘑菇,簡訊竊聽,ip撥號 基本概念 在android 中,broadcast 是一種廣泛運用的在應用程式之間傳輸資訊的機制。而broadcastreceiver 是對傳送出來的broadcast 進行過濾接受並響應的一類元件,是android ...

android 四大元件

1.activity 2.service 3.contentprovider 應用中的資料,對外進行共享,其它應用可以通過內容提供者,可以訪問到你應用中的資料,對資料進行增刪改查 1 對不同的資料格式,統一了檔案格式和資料訪問api 2 內容提供者要繼承contentprovider類 3 在清單檔...

Android 四大元件

activity intent receiver service content provider 並不是每乙個android應用程式都需要這四種構造塊,這不是必須的。當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidmanifest.xml中登記這些構造塊的清單。這個配置檔案用於定...