内容观察者
ContentObserver 观察某一个路径的数据, 某个指定的数据,一旦数据发生了变化,那么将会收到通知
作用: 数据库的数据发生变化之后,会发布一个通知出来,我们收到通知之后,再去查询数据库,即可得到最新的数据
代码实现内容观察者
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册内容观察者
Uri uri = Uri.parse("content://com.itheima.bank.BACKDOOR/account");
//参数一: 观察的具体位置 ,uri
//参数二: true : uri只要匹配前半段,也能收到通知, false . 所有的字母都全部匹配才能收到通知,如果为null,表示不告诉具体的某一个人
getContentResolver().registerContentObserver(uri, true, new MyObserver(new Handler()));
}
//接收通知
class MyObserver extends ContentObserver{
public MyObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.d(TAG, "银行的账户表数据发生了改变..");
}
}
}