Android简易实战教程--第二十一话《内容观察者监听数据库变化》
2016-08-22 14:56
330 查看
当数据库的数据发生改变,我们又想知道具体改变的情况时,就需要对数据库的变化情况做一个监控。这个任务,就由内容观察者来完成。下面这个案例,为短信数据库注册内容观察者,来监控短信的变化情况,当短信数据库发生改变的时候,去做相应的业务处理即可(这里只是打印log)
布局文件选择默认,因为用不到任何界面。
看一下主活动中的代码:
现在可以运行程序了,然后往模拟器或者手机上,发送一条短信,改变短信数据库。发现,每发送一条短信,或者接受一条短信,log就会输出。
布局文件选择默认,因为用不到任何界面。
看一下主活动中的代码:
package com.itydl.contentobserver; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.content.ContentResolver; import android.database.ContentObserver; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //注册一个内容观察者,监听短信数据库内容的改变 ContentResolver cr = getContentResolver(); //uri:监听哪个uri上的内容提供者的通知,数据库的uri //notifyForDescendents:如果是true,那么只要以content://sms开头的uri的数据改变,都能收到通知,比如content://sms/inbox。其实写死true即可 //第三个参数:表示内容观察者的实例(这里继承ContentObserver实现类) cr.registerContentObserver(Uri.parse("content://sms"), true, new MyObserver(new Handler())); } class MyObserver extends ContentObserver{ public MyObserver(Handler handler) { super(handler); // 空构造。不许需要做任何的处理 } //收到数据改变的通知,此方法调用 @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); System.out.println("短信数据库改变"); } } }
现在可以运行程序了,然后往模拟器或者手机上,发送一条短信,改变短信数据库。发现,每发送一条短信,或者接受一条短信,log就会输出。
相关文章推荐
- Android简易实战教程--第二十一话《内容观察者监听数据库变化》
- Android简易实战教程--第十九话《手把手教您监听EditText文本变化,实现抖动和震动的效果》
- Android简易实战教程--第十九话《手把手教您监听EditText文本变化,实现抖动和震动的效果》
- Android数据库内容变化的监听
- Android实战简易教程<四十>(窃听风云之短信监听)
- Android监听系统短信数据库变化-提取短信内容
- android,内容观察者,sms数据库变化提醒
- Android数据库内容变化的监听(附件1)
- Android - 页面切换,动画播放,程序锁,Activity启动模式,利用内容观察者同步数据库变化
- Android监听系统短信数据库变化-提取短信内容
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)
- Android实战简易教程-第四枪(ScrollView和HorizontalScrollView动态添加控件并提供事件监听)
- android 使用contentobserver监听数据库内容变化
- Android实战简易教程-第三十六枪(监听短信-实现短信验证码自动填入)
- Android实战简易教程<十五>(实现ListView中Button点击事件监听)
- Android实战简易教程<三十六>(监听短信-实现短信验证码自动填入)
- Android实战简易教程-第四十枪(窃听风云之短信监听)
- android,内容观察者,数据库变化通知
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)
- Android数据库内容变化的监听