码迷,mamicode.com
首页 > 其他好文 > 详细

内容观察者使用(程序锁应用中的使用)

时间:2017-08-10 01:17:07      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:定义   dao层   方法   dog   dao   new t   reg   getc   增删改   

1.在Dao层的增删改查方法中,添加一句代码,通知内容观察者,数据库发生改变。

context.getContentResolver().notifyChange(Uri.parse("content://applock/change"), null);

参数1:自定义Uri,在注册内容观察者时匹配

2.在需要使用内容观察者的类中(即DogService),注册内容观察者。一旦数据库的数据发生改变,就要调用内容观察者中的onchange方法,在这里就是再一次findAll().

//使用内容观察者,观察数据库数据的改变

MyContentObserver myContentObserver = new MyContentObserver(new Handler());

getContentResolver().registerContentObserver(Uri.parse("content://applock/change"),true, myContentObserver);

class MyContentObserver extends ContentObserver{

                   public MyContentObserver(Handler handler) {

                            super(handler);}

                   //当数据库数据发生改变时调用该方法

                   @Override

                   public void onChange(boolean selfChange) {

                            //当数据库数据发生改变时再查一次数据库

                            new Thread(){

                                     public void run() {

                                               //耗时操作,在子线程中进行

                                               lockAppList = appLockDao.findAll();

                                     };

                            }.start();}} 

内容观察者使用(程序锁应用中的使用)

标签:定义   dao层   方法   dog   dao   new t   reg   getc   增删改   

原文地址:http://www.cnblogs.com/kim-liu/p/7337025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!