zoukankan      html  css  js  c++  java
  • 内容观察者

    #内容观察者(掌握)
    * 当数据库数据改变时,内容提供者会发出通知,在内容提供者的uri上注册一个内容观察者,就可以收到数据改变的通知
     
    cr.registerContentObserver(Uri.parse("content://sms"), true, new MyObserver(new Handler()));
     
    class MyObserver extends ContentObserver{
     
    public MyObserver(Handler handler) {
    super(handler);
    // TODO Auto-generated constructor stub
    }
     
    //内容观察者收到数据库发生改变的通知时,会调用此方法
    @Override
    public void onChange(boolean selfChange) {
     
    }
     
    }
     
    部分代码:
    package com.itheima.contentobserver;
     
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Handler;
    import android.app.Activity;
    import android.content.ContentResolver;
    import android.database.ContentObserver;
    import android.view.Menu;
     
    public class MainActivity extends Activity {
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     
    //注册内容观察者,观察者就生效了,可以接受内容提供者发出的通知
    ContentResolver resolver = getContentResolver();
    //arg0:指定接收哪个内容提供者发出的通知
    resolver.registerContentObserver(Uri.parse("content://sms"),
    true, //如果为true,以这个uri作为开头的uri上的数据改变了,该内容观察者都会收到通知
    new MyObserver(new Handler()));
    }
     
    class MyObserver extends ContentObserver{
     
    public MyObserver(Handler handler) {
    super(handler);
    // TODO Auto-generated constructor stub
    }
     
    @Override
    public void onChange(boolean selfChange) {
    // TODO Auto-generated method stub
    super.onChange(selfChange);
    System.out.println("短信数据库改变");
    }
    }
     
    }
  • 相关阅读:
    win10+Linux双系统安装及一些配置问题
    第3讲--3.1旋转矩阵
    【读诗】宣州谢朓楼饯别校书叔云
    【2】python:end=' '
    如何与国外导师联系
    PointNet
    点云深度学习
    ES6常用方法
    监听滚动条、上下联动
    echarts 左右滚动
  • 原文地址:https://www.cnblogs.com/SoulCode/p/6393331.html
Copyright © 2011-2022 走看看