Android开发之内容观察者
内容观察者:
当关注应用的数据库数据改变时,内容提供者会发出通知,在内容提供者的uri上注册一个内容观察者,就可以收到数据改变的通知
实现步骤:
1.假如是自定义的ContentProvider,需要在数据发送改变的方法中实现以下代码:
ContentResolver cr = getContext().getContentResolver();
//发出通知,所有注册在这个uri上的内容观察者都可以收到通知
cr.notifyChange(uri, null);
import android.app.Activity;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initLinstener();
} private void initLinstener() {
ContentResolver cr=getContentResolver();
cr.registerContentObserver(Uri.parse("content://sms"), true, new MyObserver(new Handler()));
} class MyObserver extends ContentObserver{ public MyObserver(Handler handler) {
super(handler);
}
//内容观察者收到数据库发生改变的通知时,会调用此方法
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
System.out.println("短信数据库发送的改变!");
}
} }
registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer)
Android开发之内容观察者的更多相关文章
- Android开发环境内容汇总
		Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ... 
- Android开发13——内容提供者ContentProvider的基本使用
		一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.ContentProvider为存储和获取数据提 ... 
- [android开发之内容更新类APP]三、项目的基本功能之布局
		应用宝的下载地址:http://android.myapp.com/myapp/detail.htm?apkName=com.jov.laughter 其它的市场如木蚂蚁,安卓市场.搜狐也都有了 注: ... 
- [android开发之内容更新类APP]二、这几日的结果
		android教程即将開始 话说这开了blog之后,就一直在试用自己的app,发现.TM的真的非常不爽,不好用,好吧.本来打算放弃了.只是看到手机里还有还有一个坑,干脆又一次做一个吧. 原来的神回复A ... 
- android开发小内容
		EditText弹出输入数字:android:inputType="phone" 
- Android开发14——监听内容提供者ContentProvider的数据变化
		一.提出需求 有A,B,C三个应用,B中的数据需要被共享,所以B中定义了内容提供者ContentProvider:A应用修改了B应用的数据,插入了一条数据.有这样一个需求,此时C应用需要得到数据被修改 ... 
- Android中的内容提供者
		Android中的内容提供者 为什么需要内容提供者 为了跨程序访问数据.试想如果在App-1中创建了一个私有数据库,App-2是不能直接访问的.因为权限不够,虽然可以使用chmod 777来修改权限, ... 
- 实验四:Android 开发基础
		实验四:实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 张旭升 学号:20162329 指导教师:娄嘉鹏 王志强 实验日期:5月26日 实验密级: 非密级 预习程度: 已预习 必修/选修 ... 
- 2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告
		北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构 班级: 1623 姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5 ... 
随机推荐
- google map 点与点画线
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- 类似FirePhp的Chrome.php 调试php
			之前一直用firephp来调试php,主要受限Firefox启动太慢,研究了下chromephp; 写了个简单的判断模版: <?php /** * @Author: Klaus * @Date: ... 
- C# 学习之旅(3) ---  会说话的简易计算器
			using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ... 
- WPF中禁止WebBrowser控件打开新窗口
			一.针对纯WPF的WebBrowser控件: <summary> Suppress Script Errors In WPF WebBrowser </summary> pub ... 
- Oracle “CONNECT BY” 使用
			Oracle “CONNECT BY” 使用 功能说明: 语法结构如下: [ START WITH condition ] CONNECT BY [ NOCYCLE ] condition 说明: 1 ... 
- iOS 基础 第一天(0804)
			OC对象的本质就是一个结构体 为什么说是个结构体? 例如:类里面声明了几个成员变量\实例变量(已添加@plublic),外部对象的指针在访问这个变量的时候是这么写的p->a 0804 注意oc的 ... 
- 【学习总结】【多线程】 多线程概要 & GDC & NSOperation
			基本需要知道的 : 进程 : 简单点来说就是,操作系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在受保护的内存空间内 线程 : 一个进程(进程)想执行任务,必须有线程(所以, ... 
- HttpWebRequest
			同步请求===================================================================================== byte[] da ... 
- drag drop小游戏
			<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ... 
- 使用Yeoman搭建 AngularJS 应用 (12) —— 让我们搭建一个网页应用
			原文地址:http://yeoman.io/codelab/local-storage.html 安装Bower程序包 我们使用另一个Angular模块,"angular-local-sto ... 
