#內容觀察者*通過內容提供者可以訪問到資料庫,當資料庫資料改變時,內容提供者會發出通知,在內容提供者的uri上註冊乙個內容觀察者,就可以收到資料改變的通知,類似於廣播接受者,但是他不是廣播。
cr.registercontentobserver(uri.parse("content://sms"), true, new myobserver(new
handler()));
class myobserver extends
contentobserver
//內容觀察者收到資料庫發生改變的通知時,會呼叫此方法
@override
public
void onchange(boolean
selfchange)
}*在內容提供者中發通知的**
contentresolver cr =getcontext().getcontentresolver();
//發出通知,所有註冊在這個uri上的內容觀察者都可以收到通知
cr.notifychange(uri, null);
packagecom.itheima.contentobserver;
import
android.net.uri;
import
android.os.bundle;
import
android.os.handler;
import
import
android.content.contentresolver;
import
android.database.contentobserver;
import
android.view.menu;
public
class mainactivity extends
activity
class myobserver extends
contentobserver
//收到資料改變的通知,此方法呼叫
@override
public
void onchange(boolean
selfchange)
}}
packagecom.itheima.listener;
import
android.net.uri;
import
android.os.bundle;
import
android.os.handler;
import
import
android.database.contentobserver;
import
android.view.menu;
//08專案
public
class mainactivity extends
activity
});}
}
Android的內容觀察者
有個很常見的需求就是當有新的簡訊來的時候,把內容顯示在介面上。這裡就要用到內容觀察者。就是讓你的程式監視簡訊,如果他內容發生變化的時候,你去獲取。而簡訊那邊做的情況就 是,當他自己的資料變化時,他告訴有個公共簡訊記憶體區,他說,我資料變化了!然後通過簡訊的內容提供者把簡訊的內容拿到公共記憶體區,你的...
內容觀察者
1,註冊內容觀察者 getcontentresolver registercontentobserver uri,true,observer observer 實現contentobserver類的下面方法 override public void onchange boolean selfchan...
內容觀察者
uri uri uri.parse content 其中第二引數時乙個boolean,如果為true,表示uri可以時非完整的路徑,如果是false,就必須要是乙個完整的uri,上面的uri就是非完整的。第三個引數是contentreserver getcontentresolver registe...