Android ContentProvider之ContentObserver内容观察者
2017-08-05 19:08
375 查看
内容观察者
* 当数据库数据改变时,内容提供者会发出通知,在内容提供者的uri上注册一个内容观察者,就可以收到数据改变的通知
* 在内容提供者中发通知的代码
参考:Android ContentProvider
* 当数据库数据改变时,内容提供者会发出通知,在内容提供者的uri上注册一个内容观察者,就可以收到数据改变的通知
cr.registerContentObserver(Uri.parse("content://sms"), true, new MyObserver(new Handler())); class MyObserver extends ContentObserver{ public MyObserver(Handler handler) { super(handler); // TODO Auto-generated constructor stub } //内容观察者收到数据库发生改变的通知时,会调用此方法 @Override public void onChange(boolean selfChange) { } }
* 在内容提供者中发通知的代码
ContentResolver cr = getContext().getContentResolver(); //发出通知,所有注册在这个uri上的内容观察者都可以收到通知 cr.notifyChange(uri, null);
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //注册内容观察者,观察者就生效了,可以接受内容提供者发出的通知 ContentResolver resolver = getContentResolver(); //arg0:指定接收哪个内容提供者发出的通知 resolver.registerContentObserver(Uri.parse("content://sms"), true, //如果为true,以这个uri作为开头的uri上的数据改变了,该内容观察者都会收到通知 new MyObserver(new Handler())); } class MyObserver extends ContentObserver{ public MyObserver(Handler handler) { super(handler); // TODO Auto-generated constructor stub } @Override public void onChange(boo 4000 lean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); System.out.println("短信数据库改变"); } } }
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //注册内容观察者接收01发送的通知 getContentResolver().registerContentObserver(Uri.parse("content://com.cy.people"), true, new ContentObserver(new Handler()) { @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); System.out.println("01数据库改变"); } }); } }
参考:Android ContentProvider
相关文章推荐
- android内容提供者ContentProvider,UriMatcher和内容观察者ContentObserver常见使用
- Android自学笔记-13-ContentObserver内容观察者
- Android内容观察者--ContentObserver
- 内容提供者(ContentProvider)和内容观察者(ContentObserver)的使用(以应用锁为例)
- android_75_ContentObserver_短信内容观察者
- android下内容观察者: ContentObserver
- Android中内容观察者的使用---- ContentObserver
- Android 中的内容观察者ContentObserver
- Android 中的内容观察者ContentObserver
- Android -- ContentObserver 内容观察者
- Android内容观察者 --ContentObserver(待写)
- android之ContentObserver内容观察者的使用
- Android -- ContentObserver 内容观察者
- android中ContentObserver——内容观察者
- 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)
- android ContentObserver内容观察者基本使用
- android之contentProvider的使用以及为其添加观察者(ContentObserver)
- 内容提供者ContentProvider和内容观察者ContentObserver的使用
- Android两种方式监听短信内容---BroadcastReceiver和ContentObserver
- Android(java)学习笔记253:ContentProvider使用之内容观察者02