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

  • 相关阅读:
    关于.NET Reflector
    Windows Debugging之九
    在IA32如何将程序计数器的值放入到整数寄存器中?
    [陆续添加]计算机网络最最基础的基本概念
    ASCII表
    [翻译文章]我们是如何做到的: 提高SharePoint.Microsoft.com站点的性能
    Windows API是什么?
    寄存器使用惯例
    阅读笔记 了解ASP.NET底层架构 之一
    汇编程序中的返回值
  • 原文地址:https://www.cnblogs.com/kim-liu/p/7337025.html
Copyright © 2011-2022 走看看