android,ContentProvider+ContentObserver+ContentResolver,用法。

這個是傳智播客老師講android開發時的一個圖。html

1、android

PersonProvider繼承ContentProvider,實現ContentProvider中的數據操做類。數據庫

ContentObserver——內容觀察者,目的是觀察(捕捉)特定Uri引發的數據庫的變化,繼而作一些相應的處理,它相似於數據庫技術中的 觸發器(Trigger),當ContentObserver所觀察的Uri發生變化時,便會觸發它。觸發器分爲表觸發器、行觸發器,相應地 ContentObserver也分爲「表「ContentObserver、「行」ContentObserver,固然這是與它所監聽的Uri MIME Type有關的。ide

在須要監聽的操做中添加添加數據變化通知。this

this.getContext().getContentResolver().notifyChange(uri, null);server

第二個參數,數據變化的監聽者,能夠不設置,也便是設爲null,若是給定了這個監聽者,無論外面有多少個應用要設置監聽,進行監聽數據變化,這個getContentResolver()監聽對象,必然會獲得數據的變化通知。htm

這句話是從別處複製的,可是不懂啊不懂啊~~~對象

2、
設置監聽

//設置監聽
this.getContentResolver().registerContentObserver(uri, true, new PersonContentObserver(new Handler()));blog

這個方法的參數請參考下面連接中大神給出的解釋:繼承

當有應用調用PersonProvider的insert方法是,就會執行onChange()方法,並打印出字段name的值。
相關文章
相關標籤/搜索