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("短信数据库改变");
    }
    }
     
    }
  • 相关阅读:
    三行代码实现邮件发送
    两种HTTP请求方法:GET和POST的区别
    测试自动化平台 | 测试开发工程师的进阶之路
    测试自动化平台 | 测试开发工程师的进阶之路
    Autotestplat.com 更新了!
    如何规范小开发公司的测试流程。?
    如何规范小开发公司的测试流程。?
    《自动化平台测试开发》出版啦!!!
    后缀数组
    bzoj 3864: Hero meet devil
  • 原文地址:https://www.cnblogs.com/SoulCode/p/6393331.html
Copyright © 2011-2022 走看看