Android四大組件簡單理解——內(nèi)容提供者(content provider)

一、內(nèi)容提供者(content provider):是Android四大組件之一,內(nèi)容提供者是應用程序之間共享數(shù)據(jù)的接口,應用程序創(chuàng)建的數(shù)據(jù)庫,默認情況下是私有的。別的應用程序訪問不到數(shù)據(jù),如果想把數(shù)據(jù)對外提供,就要用到內(nèi)容提供者。ContentProvider屏蔽了數(shù)據(jù)存儲的細節(jié),內(nèi)部實現(xiàn)對用戶完全透明,用戶只需關系操作數(shù)據(jù)的uri即可,ContentProvider可以實現(xiàn)不同app之間共享。

???? SQL也有增刪改查的的方法,但是SQL只能只能查詢本應用下的數(shù)據(jù)庫,ContentProvider還可以去增刪改查本地文件/XML文件的讀取等。Android系統(tǒng)將這種機制應用到方方面面。比如:聯(lián)系人(通訊錄應用程序)Provider專為不同應用程序提供聯(lián)系人數(shù)據(jù);短信(短信應用程序)Provider專為不同應用程序提供系統(tǒng)短信信息。當應用程序繼承ContentProvider類,并重寫該類用于提供數(shù)據(jù)和存儲數(shù)據(jù)的方式,就可以向其他應用共享其數(shù)據(jù)。雖然使用其他方法也可以對外共享數(shù)據(jù),但數(shù)據(jù)訪問方式會因為數(shù)據(jù)存儲的方式而不同。如:采用文件方式對外共享數(shù)據(jù),需要進行文件操作讀寫操作;采用SharedPreferences 共享數(shù)據(jù),需要使用SharedPreferences?API讀寫數(shù)據(jù)。而使用ContentProvider共享數(shù)據(jù)的好處是統(tǒng)一了數(shù)據(jù)訪問方式??傊瑑?nèi)容提供者管理了對結構化數(shù)據(jù)最常見的就是數(shù)據(jù)庫中數(shù)據(jù)的訪問,操作內(nèi)容提供者是不同進程之間以數(shù)據(jù)庫數(shù)據(jù)形式交互數(shù)據(jù)的標準方式。

? 1、Android平臺提供了ContentProvider使一個應用程序指定數(shù)據(jù)集提供給其他應用程序,其他應用可以通過ContentResolver類從該內(nèi)容提供者中獲取或存入數(shù)據(jù)。

?2、只有需要在多個應用之間共享數(shù)據(jù)才會用到內(nèi)容提供者。例如:通訊錄被多個應用程序使用,且必須存儲在一個內(nèi)容提供者中,它的好處是統(tǒng)一數(shù)據(jù)訪問方式。

?3、開發(fā)人員不會直接使用ContentProvider類的對象,大多數(shù)是通過ContentResolver對象實現(xiàn)對ContentProvider的操作。

?4、ContentProvider使用url來唯一標識其數(shù)據(jù)集,這里的url以content://作為前綴,表示數(shù)據(jù)由ContentProvider來管理。


內(nèi)容提供者詳細操作

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 這篇主要介紹下ContentProvider如何實現(xiàn)共享數(shù)據(jù)、及ContentResolver如何訪問其他進程等數(shù)...
    朋永閱讀 3,052評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評論 19 139
  • 2016.7.24 第一次更新:加入了自定義Content Provider的相關內(nèi)容,完全解析內(nèi)容提供者的用法。...
    RumbleTsc閱讀 1,390評論 0 16
  • 據(jù)說史蒂夫·喬布斯年輕時每天凌晨四點起床,九點前把一天工作做完。喬幫主說:自由從何而來?從自信來,而自信則是從自律...
    樂鈫閱讀 2,326評論 0 24
  • 那一年,我19歲 曾經(jīng)許給自己,20歲之前一定要來一場一個人說走就走的旅行。就像結婚前的單身party一樣,即便是...
    e5497b4727d1閱讀 515評論 0 8

友情鏈接更多精彩內(nèi)容