内容观察者 广播

定义一个内容观察者
监听内容提供者数据
跟新数据
添加通知内容观察者
Uri uri2=uri.parse(content://contenprovider/delete”);
getcontext().getcontentresolver().notifychange(uri2.obser,null);
sqlitedatabase db-help.getwritabledatabase();
int a=bd.delete(const,tanle,selextionargs);
return a;
监听内容提供者数据发生改变
public void onchange(boolean selfchange){

super.onchange(selfchange);
System.out.println(“数据发生改变。。。。”)}
监听 uri
uri uri2=uri.pase(“conten://com.provider/delete”);
getcontext().getcontentresolver().notifychange(uri2,observer null);
return a;
注册内容观察者
public class MainActivity extends AppCompatActivity { private static final String TAG = “jojo”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//1 注册内容观察者
Uri uri = Uri.parse(“content://com.itheima.provider”);
getContentResolver().registerContentObserver(uri, true, new MyContentObserver(new Handler()));
}
//定义一个内容观察者
private class MyContentObserver extends ContentObserver {
/**
* Creates a content observer.
*
* @param handler The handler to run {@link #onChange} on, or null if none.
*/
public MyContentObserver(Handler handler) {
super(handler);
}

// 当内容发生改变的时候调用
@Override
public void onChange(boolean selfChange) {
Log.d(TAG, “onChange: 数据库的内容发生了改变”);
super.onChange(selfChange);
}
}
广播接收者
广播事件处理属于系统级的事件处理(一般事件处理是属于view级的事件处理)
一个应用可以在发生特定事件时发送broadcast,系统中任何应用只要注册了对应的receiver就会接受到broadcast
一个应用如果对某个广播感兴趣,就可以注册对应的receiver来接受广播
广播事件机制是应用程序(进程)之间的通信的一种手段
广播即使最大的特点就是发送方并不关心接受方是否接收到数据也不关心接收方是如何处理数据的,通过这种形式来达到接,收双的完全
广播事件处理过程既针对某一广播做出响应的过程
安卓系统中,内置了很多系统级别的广播,例如手机开机会发送一条广播,电池电量不足时会发送一条广播等
安卓系统中提供了广播及守着broadcastreceiver,广播接收者作用是接受来自系统或其他应用程序的广播
要使用广播接收者接收其他应用程序发出的广播,先要在本应用中创建广播接收者并进行注册
注册广播有两种方式,常驻型广播与非常驻型广播
注册常驻型广播是当应用程序关闭后如果接受到程序发出的广播,那么该程序就睡自动重新启动,常驻型广播在清单文件中注册
非常驻型广播依赖于注册广播组件的生命周期
非常驻广播型可以在onDestory()中解除广播,具体代码如下
unregisterReceiver(receiver);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值