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

    在内容提供者的基础上,若有数据放生变化,则通知其他应用

    package com.shz.observer;
    
    import android.app.Activity;
    import android.app.ActionBar;
    import android.app.Fragment;
    import android.content.ContentResolver;
    import android.database.ContentObserver;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Handler;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.os.Build;
    
    public class MainActivity extends Activity {
    
        public static final String TAG = "testobserver";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //Uri uri = Uri.parse("content://db.personprovider/insert");
            Uri uri = Uri.parse("content://db.personprovider/");
            this.getContentResolver().registerContentObserver(uri, true,new MyObserver(null));
        }
    
        private class MyObserver extends ContentObserver
        {
    
            public MyObserver(Handler handler) {
                super(handler);
            }
    
            @Override
            public void onChange(boolean selfChange) {
                Uri uri = Uri.parse("content://db.personprovider/query");
                ContentResolver resolver = getApplicationContext().getContentResolver();
                Cursor c = resolver.query(uri, null, null, null, "id desc");
                
                if(c.moveToFirst())
                {
                    Log.i(TAG, "插入的新记录name:"+c.getString(c.getColumnIndex("name")));
                }
                else
                {
                    Log.i(TAG, "未监听到A应用的数据发生改变");
                }
            }
            
            
            
        }
    }
  • 相关阅读:
    sql语句常考知识点总结
    服务器搭建
    软件测试面试题
    linux常用命令
    kibana常用查询删除语法
    python从kafka消费数据
    foxmail客户端,写邮件窗口弹不出来
    JMeter学习——测试文件下载
    python中取两个列表中不同的元素
    MySQL主从复制
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/3905767.html
Copyright © 2011-2022 走看看