自定义数据库中使用 contentObserver
来源:互联网 发布:西安高新广电网络 编辑:程序博客网 时间:2024/06/05 14:30
系统自带的数据库的Provider中都有通知该数据库观察者数据库更新的机制。
比如在CallLogProvider的代码中发现了通知数据库进行更新了。代码如下:
protected void notifyChange() {
getContext().getContentResolver().notifyChange(CallLog.CONTENT_URI, null,
false /* wake up sync adapters */);
}
要想在自定义的数据库中也能使用ContentObserver,必须在数据库Dao中所有修改数据的方法中添加如下代码:
getContext().getContentResolver().notifyChange(自定义uri, null)
在你要使用ContentObserver的地方注册该uri的观察者;
例如:
1.Dao中通知更新:
public boolean insert(String packname) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("packname", packname);
long id = db.insert("lockinfo", null, values);
db.close();
if(id!=-1){
context.getContentResolver().notifyChange(
Uri.parse("content://com.mobilesecurity.updateLockDb"),
null);
return true;
}
return false;
}
public boolean delete(String packname) {
SQLiteDatabase db = helper.getWritableDatabase();
int count = db.delete("lockinfo", "packname = ?",
new String[] { packname });
db.close();
if (count > 0) {
context.getContentResolver().notifyChange(
Uri.parse("content://com.mobilesecurity.updateLockDb"),
null);
return true;
}
return false;
}
2. 注册ContentObserver:
observer =new MyDbObserver(new Handler());
Uri uri = Uri.parse("content://com.mobilesecurity.updateLockDb");
getContentResolver().registerContentObserver(uri, true, observer);
这样就可以在自定义的数据库中使用内容观察者了。
- 自定义数据库中使用 contentObserver
- 使用ContentObserver监听数据库变化
- 使用ContentObserver监听数据库变化
- 使用ContentObserver监听数据库变化
- 使用ContentObserver监听数据库变化
- Android中ContentObserver的使用
- Android使用ContentObserver监听数据库变化
- Android使用ContentObserver监听数据库变化
- Android使用ContentObserver监听数据库变化
- Android使用ContentObserver监听数据库变化
- android 使用contentobserver监听数据库内容变化
- Android使用ContentObserver监听数据库变化
- android 使用contentobserver监听数据库内容变化
- 使用ContentObserver监听短信数据库的变化
- Android数据库改变监听,ContentObserver使用
- ContentObserver使用
- Android中内容观察者的使用---- ContentObserver
- android 中ContentObserver和DataSetObserver的使用
- 图片加载利器Picasso 解析
- 创建一个单文档MFC应用程序的那些事儿
- ubuntu命令行连接WIFI
- IOS之c语言笔记 day03
- POJ 3069 Saruman's Army
- 自定义数据库中使用 contentObserver
- OJ解题总结
- 2016年1月2日,参加第三个项目(6745小时)
- 常规功能和模块自定义系统 (cfcmms)—030开发日志(创建ManyToMany的column5)
- 编码问题 题解
- 字符串的比较
- 最小伤害 题解
- 全排列 (codevs 1294)题解
- 乌龟棋 (codevs 1068)题解