在搬砖时,大部分软件架构都会对数据库进行操作。
本文记录的是如何对数据库进行监听。
监听SMS数据库为例:
监听短信数据库的变化,添加删除修改,变化的时候会回调onChange方法
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.net.Uri;
/**
* 建立数据库观察者
*/
public class SmsDatabaseChaneObserver extends ContentObserver {
private static final String TAG = "SmsActivity";
// 收件箱
public static final Uri MESSAGE_URI = Uri.parse("content://sms/inbox");
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
//在这里进行检测到数据库改变后的操作
Log.d(TAG, "*SMSObserver.onChange()*");
}
}
然后再Activity方法里面进行注册,结合自己使用的Activity或者Service的生命周期来进行控制。
context.getContentResolver().registerContentObserver(Uri.parse("content://sms/inbox"), true, mSmsDBChangeObserver);
注册完成后就可以对SMS数据库进行监听了。