设为首页 加入收藏

TOP

Android ContentObserver使用
2014-11-24 03:32:23 来源: 作者: 【 】 浏览:0
Tags:Android ContentObserver 使用

想象一个场景: 有个TextView, 用来显示数据库一个表的数据总数. 用户通过UI界面对数据进行CRUD的操作. 这个TextView如何实时监控并更新显示数据总数


目录:


第一节 ContentObserver的感性认识


第二节 3个重点


第三节 具体实现



这里比较便捷且高效的方案是使用ContentObserver. 前提是已经建立了ContentProvider的支持. 先分析了一些网上广为流传了一个监控SMS变化的Observer例子. 画个图便于ContentObserver的感性认识.





通过这个图, 主要了解3点就可以:


1, 建立继承自ContentObserver的对象,实现其onChange()方法.


2, 在目标Activity中注册和解除.


3, 在UI线程中, 用Handler接收来自Observer发出的Message, 更新UI.



思路有了, 就看具体的实现了.



重点是实现其onChange()方法, 如注释所写. onChange可以理解为在得到数据变化的通知之后, Observer做的事情. 此例子中是重新查询表的数据总数.






注册和解除可以根据需要, 比如分别放在Activity的onCreate()和onDestroy()方法中. 关于这个CONTENT_URI, 是自定义的, 如:



此Observer的目的可以说是监听或者观察这个URI的变化.




到这里, 注册观察者Observer, 数据变化后重新查询数据库, 得到结果异步用Handler来更新UI. 看起来好像齐全了, 其实还有谁在什么时候通知观察者数据变化了的问题.



这样, 这个TextView就可以实时监控并更新显示数据总数了.


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android Action Bar 自定义View 下一篇Android创建导航抽屉 → Creating..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)