精华内容
下载资源
问答
  • 数据库变化监听方法

    千次阅读 2012-08-22 22:11:43
    1. Cursor void ...registerContentObserver(ContentObserver observer) ...Register an observer that is called when changes happen to the content backing this cursor. ...registerDa

    1.  Cursor

    void registerContentObserver( ContentObserver observer)
    Register an observer that is called when changes happen to the content backing this cursor.
    void registerDataSetObserver( DataSetObserver observer)
    Register an observer that is called when changes happen to the contents of the this cursors data set, for example, when the data set is changed via  requery()deactivate(), or  close().
    void setNotificationUri( ContentResolver cr,  Uri notifyUri)
    Specifies a content URI to watch for changes.

    2. ContentResolver

    final void registerContentObserver( Uri uri, boolean notifyForDescendents,  ContentObserver observer)
    Register an observer class that gets callbacks when data identified by a given content URI changes.

    3. Adapter && ListAdapter

    abstract void registerDataSetObserver( DataSetObserver observer)
    Register an observer that is called when changes happen to the data used by this adapter.

       BaseAdapter  &&  SimpleCursorAdapter

    void notifyDataSetChanged()
    Notifies the attached observers that the underlying data has been changed and any View reflecting the data set should refresh itself.
    void notifyDataSetInvalidated()
    Notifies the attached observers that the underlying data is no longer valid or available.
    void registerDataSetObserver( DataSetObserver observer)
    Register an observer that is called when changes happen to the data used by this adapter.
    void unregisterDataSetObserver( DataSetObserver observer)
    Unregister an observer that has previously been registered with this adapter via  registerDataSetObserver(DataSetObserver).


    展开全文
  • 详细解析Android数据库内容变化监听
  • android数据库数据变化监听

    千次阅读 2015-06-19 12:17:32
    感谢一下两位同仁的文章: http://www.it165.net/pro/html/201406/15368.html http://www.blogjava.net/zhaojianhua/archive/2011/10/27/362204.html

    感谢一下两位同仁的文章:

    http://www.it165.net/pro/html/201406/15368.html


    http://www.blogjava.net/zhaojianhua/archive/2011/10/27/362204.html

    展开全文
  • 使用ContentObserver监听数据库变化 <br /> observer英音:[əb'zə:və] :观测者;观察员 <br /> void onChange(boolean selfChange) <br /> This method is called when a ...

    使用ContentObserver监听数据库变化

    observer英音:[əb'zə:və] :观测者;观察员


    void     onChange(boolean selfChange)

    This method is called when a change occurs to the cursor that is being observed.
    ___________________________________________________________________________________________________________________________________________________________________________________________

    public class ScreenTest extends Activity { 
         
        class SmsContent extends ContentObserver{ 
            private Cursor cursor = null; 
            public SmsContent(Handler handler) { 
                super(handler); 
            } 
             
            /**
             * @Description 当短信表发送改变时,调用该方法 
             *              需要两种权限
             *              android.permission.READ_SMS读取短信
             *              android.permission.WRITE_SMS写短信
             * @Author Snake
             * @Date 2010-1-12
             */ 
            @Override 
            public void onChange(boolean selfChange) { 
                // TODO Auto-generated method stub 
                super.onChange(selfChange); 
                //读取收件箱中指定号码的短信 
                cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[]{"_id", "address", "read"}, " address=? and read=?", new String[]{"12345678901", "0"}, "date desc"); 
                 
                if (cursor != null){ 
                    ContentValues values = new ContentValues(); 
                    values.put("read", "1");        //修改短信为已读模式 
                    cursor.moveToFirst(); 
                    while (cursor.isLast()){ 
                        //更新当前未读短信状态为已读 
                        getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)}); 
                        cursor.moveToNext(); 
                    } 
                } 
            } 
        } 
         
        /** Called when the activity is first created. */ 
        @Override 
        public void onCreate(Bundle savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.main); 
            SmsContent content = new SmsContent(new Handler()); 
            //注册短信变化监听 
            this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);  
        } 
    }

    展开全文
  • 01 canal监听数据库变化

    千次阅读 2020-02-07 23:48:35
    canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。 canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。 阿里系公司开始逐步的尝试基于数据库的日志解析,获取...

    1.cannal

    1.1 canal简介

    canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。

    canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。
    阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。

    在这里插入图片描述

    原理相对比较简单:

    1. canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
    2. mysql master收到dump请求,开始推送binary log给slave(也就是canal)
    3. canal解析binary log对象(原始为byte流)

    1.2 环境部署

    1.2.1 mysql开启binlog模式

    (1)查看当前mysql是否开启binlog模式

    SHOW VARIABLES LIKE '%log_bin%'
    

    如果log_bin的值为OFF是未开启,为ON是已开启。

    (2)修改/etc/my.cnf 需要开启binlog模式。

    binlog-format=ROW
    server_id=1
    

    修改完成之后,重启mysqld的服务

    展开全文
  • 自定义ContentObserver监听数据库数据变化,在Observer里面的onChange实现回调,这里可以获取到最新变化的那条数据,代码亲测可行
  • 使用system.setting.put.....将数据保存在系统数据库中, 一般保存在系统数据库data/data/com.android.providers.settings/databases/settings/system 中,如果删除该...2.通过监听的方式: private ContentObserv
  • 我们通常监听数据库变化用ContentObserver。 可是这样的话,onChange()里又没有指出数据库变化是在哪一行。不可能去遍历吧,这太耗时耗能了。 而如果在ContentProvider里发一个广播反而可以告诉具体变化在哪一行...
  • logstash实时监听pgsql数据库变化 发送消息到kafka
  • 做即时通讯时:首先需要把聊天信息插入到数据库中、然后才展现出来,如何对数据库进行监听呐,如果开启一个线程大量的查询某个数据库值发送了变化,导致的开销很大,可以使用ContentObserve对数据库进行监听。...
  • thinkPHP数据库——监听SQL

    千次阅读 2017-05-17 10:06:15
    开启数据库的调试模式,可以对数据库执行的任何SQL操作进行监听,使用如下方法: b::listen(function($sql, $time, $explain){ // 记录SQL echo $sql. ' ['.$time.'s]'; // 查看性能分析结果 dump($explain);...
  • 监听数据库变化 .net实现

    千次阅读 2008-11-12 14:16:00
    监听数据库是否发生变化,运用Service Broker、SqlDependency,在.net下实现如下: private bool flag = false; private void button1_Click(object sender, EventArgs e) { string str = "Data Sou
  • 监控数据库必须继承ContentObserver类; class MusicContentObserver extends ContentObserver{ public MusicContentObserver(Handler handler) { super(handler); } @Override public void onChange(boolean ...
  • 源码github在sqlbrite基础上增加了如下功能增强表变化监听 增加数据监听 删除数据监听SQLBrite2如何使用SQLBrite使用教程请参考 SQLBrite简介 ,这里只给出SQLBrite2新增功能如何使用前期准备工作,创建一个...
  • ContentObserver实现数据库监听

    千次阅读 2015-08-05 16:25:17
    工作中有时需要开启一个线程做大量的查询,来检测某个数据库值发送了变化,导致的开销很大,后来利用了ContentObserver完美的解决了该问题,这里做下总结。 (1)ContentObserver——内容观察者,目的是观察(捕捉...
  • 1、监听短信数据库变化,添加删除修改,变化的时候会回调onChange方法 2、提取刚刚变化的那条短信的内容 备注: 1、这种方式虽然一开始能够监听到数据变化,但是要判断是刚刚接手到的短信,还需要做...
  • android 使用contentobserver监听数据库内容变化 在android中经常会用到改变数据库内容后再去使用数据库更新的内容,很多人会重新去query一遍,但是这样的问题就是程序会特别占内存,而且有可能会搂关cursor而导致...
  • 最近有个朋友问了我如何接受指定号码的短信,并且不让系统截取到通知用户。真好前端时间看天朝...监听相应的URI的ContentProvider就可以,在OnChange实现你想做的事情或者发广播等。 [java] view plaincopy
  • 关于ContentObserver监听不到数据库变化的解决办法问题表现: 在ContentProvider中已经打印出了插入成功的日志,但是在Activity中注册的内容观察者的onChange方法一直不被调用和执行。解决办法: 在利用...
  • C#源码-数据库监听

    2018-09-12 08:39:27
    C#代码对数据库监听,实现数据库表的在被操作后触发执行的方法
  • 前几天在研究数据库主从同步的时候,发现 mysql 的 binlog 对数据库的数据更新会做日志记录,那么只要监听数据库的更新,是不是代表着可以在一处统一维护数据和缓存的一致性。 下面就简单...
  • websocket监听数据库

    2018-11-06 10:43:50
    websocket,监听数据库变化,后台代码,亲测好用,欢迎评论。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,388
精华内容 30,955
关键字:

数据库变化监听