zoukankan      html  css  js  c++  java
  • 内容观察者使用(程序锁应用中的使用)

    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();}} 

  • 相关阅读:
    删除文件时,提示 "操作无法完成..." 怎么处理
    对象的理解
    TP5架构下链接SQL数据库的一种方法
    关于URL隐藏index.php方法
    非典型的千万用户后台之路
    就这样,再见2015
    理想的程序员
    4个小例子告诉你:如何成为一名数据极客
    馆中窥职:小公司没那么糟糕
    JAVA设计模式详解(六)----------状态模式
  • 原文地址:https://www.cnblogs.com/kim-liu/p/7337025.html
Copyright © 2011-2022 走看看