android103 內容觀察者

2021-09-07 03:43:43 字數 1519 閱讀 2705

#內容觀察者

*通過內容提供者可以訪問到資料庫,當資料庫資料改變時,內容提供者會發出通知,在內容提供者的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);

package

com.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)

}}

package

com.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...