四大元件之一。
contentprovider是不同應用程式之間進行資料交換的標準api。當乙個應用程式暴露自己的資料給其他程式使用時,該應用程式通過提供contentprovider來實現;其他應用程式通過contentresolver來操作contentprovider暴露的資料。
contentprovider 負責暴露資料,contentresolver負責運算元據。
是不同應用程式之間進行資料交換的標準api。contentprovider以某種uri的形式對外提供資料,允許其他應用程式訪問或修改資料;其他應用程式使用contentresolver根據uri去訪問操作制定資料。
1.定義自己的contentprovider類(繼承contentprovider基類)
通過配置檔案註冊dictprovider(已繼承contentprovider)還需要提供如下幾個方法
與url類似。分為三個部分:
uri例子:content:
例子:content:/2
此時要訪問的是資源為word資料中id為2的記錄
context提供了如下方法獲取contentresolver物件:
一般來說,contentprovider是單例項模式:多個應用程式通過contentresolver來操作contentprovider提供的資料,contentprovider呼叫的資料操作會委託給同乙個contentprovider處理。
contentresolver(a應用)——(間接呼叫crud方法)——》contentprovider(b應用)
contentresolver(a應用)——(向uri執行crud方法)——》 uri ——(委託給該uri對應的contentresolver)——》contentprovider(b應用)
1.開發乙個contentprovider子類,需要實現query()\insert()\update()\delete()等方法
2.在androidmanifest.xml檔案中註冊該contentprovider,指定android:authorities屬性。
安卓要求所有應用程式元件(activity、service、contentprovider\broadcastreceiver)都必須顯式進行配置。
屬性:通過getcontentresovler()方法獲取contentresovler物件。
為了確定該contentprovider實際能處理的uri,以及確定每個方法中uri引數所操作的資料,android系統提供了urimatcher工具類。
提供了兩個方法。
contenturis工具類(操作uri字串的工具類)提供如下兩個方法。
parseid(uri):從指定uri中解析出所包含的id值
例項(暫定,後期補充)
例項(暫定,後期補充)
uri:後面跟
external_content_uri:外部儲存器
internal_content_uri:內部儲存器上的
mediastore.audio.media.音訊
mediastore.images.media.
例項(暫定,後期補充)
contentprovider資料發生改變,程式呼叫如下**
context.getcontentresolver().notifychange(uri,null);
註冊***:
registercontentobserver(uri uri,boolean notifyfordescendents,contentobserver obserber)
例項:監聽使用者發出的簡訊(暫定,後期補充)
安卓筆記20170112
一,全域性獲取context的技巧 public static context getcontext 二,使用intent傳遞物件 1.serializable方式 public class person implements serializable public void setname str...
安卓 筆記 一
設定主活動 在androidmanifest檔案中 完成註冊 p36 若沒有設定主程式 此類程式仍可正常安裝,但無法在啟動器中開啟程式,僅做第三方服務或是內部進行呼叫。活動中 可以通過findviewbyid 方法來獲得 布局檔案中的元素,例如 button button button findvi...
安卓許可權筆記
筆記,本人學識有限,有錯誤請指正。在寫發現許可權挺重要的,幾乎都得用到,因為本人手機為安卓9.0版本,做啥都要申請許可權,寫了好幾個,都需要用到,因此,趁這個時間,看一下許可權方面,整理一段能夠直接用的許可權申請 高版本的安卓什麼許可權都需要獲取許可權 動態獲取。原本 低版本 是直接在android...