W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 Android 中如果想將自己應(yīng)用的數(shù)據(jù)(一般多為數(shù)據(jù)庫(kù)中的數(shù)據(jù))提供給第三發(fā)應(yīng)用, 那么我們只能通過 ContentProvider 來實(shí)現(xiàn).
ContentProvider 是應(yīng)用程序之間共享數(shù)據(jù)的接口. 使用的時(shí)候首先自定義一個(gè)類繼承 ContentProvider, 然后覆寫 query、insert、update、delete 等方法. 因?yàn)槠涫撬拇蠼M件之一因此必須在 AndroidManifest 文件中進(jìn)行注冊(cè). 把自己的數(shù)據(jù)通過 uri 的形式共享出去
第三方可以通過 ContentResolver 來訪問該 Provider
每一個(gè) ContentProvider 都擁有一個(gè)公共的URI, 只能通過訪問該 URI 來獲得數(shù)據(jù).
Android所提供的ContentProvider都存放在android.provider包中。 將其分為A,B,C,D 4個(gè)部分:
A:標(biāo)準(zhǔn)前綴, 用來說明一個(gè) Content Provider 控制這些數(shù)據(jù),無法改變: "content:\/\/"
B:URI 的標(biāo)識(shí),用于唯一標(biāo)識(shí)這個(gè)ContentProvider, 外部調(diào)用者可以根據(jù)這個(gè)標(biāo)識(shí)來找到它. 它定義了是哪個(gè)Content Provider提供這些數(shù)據(jù). 對(duì)于第三方應(yīng)用程序,為了保證URI標(biāo)識(shí)的唯一性,它必須是一個(gè)完整的、小寫的類名. 這個(gè)標(biāo)識(shí)在 元素的 authorities屬性中說明:一般是定義該 ContentProvider 的包.類的名稱
C:路徑(path),通俗的講就是你要操作的數(shù)據(jù)庫(kù)中表的名字, 或者你也可以自己定義, 記得在使用的時(shí)候保持一致就可以了;"content:\/\/com.bing.provider.myprovider\/tablename"
D:如果URI中包含表示需要獲取的記錄的ID;則就返回該id對(duì)應(yīng)的數(shù)據(jù),如果沒有ID,就表示返回全部; "content:\/\/com.bing.provider.myprovider\/tablename\/#" #表示數(shù)據(jù)id.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: