安卓内容观察者广播

在这里插入图片描述
在这里插入图片描述
1、内容访问者
*内容访问者:

  • 1.获取提供者:getcontentResolverO;ContentResolver对象
  • 2.访问内容提供者:增洲改查
ContentResolver resolver=getcontentResolverO;
uri uri=uri.parse("content://com.provider111/query");
cursor cursor=resolver.query(uri,nu11,nu11,nu11,nu11);
if(cursor!=nu11&&cursor.getcount()>0){
while(cursor.moveToNextO){
long_id=cursor.getInt(0);
string sname=cursor.getstring(1);
string sno=cursor.getstring(2);
string sex=cursor.getstring(3):
int img=cursor.getInt(4);
student student=new Student(_id,sname,sno,sex,img);
system.out.println(student);

2、内容观察者使用

1注册内容观察者

Uri uri2=Uri. parse("content: // com.provider/delete");

/注册层内容观察者

 resolver. registerContentobserver(uri2, true, new Contentobserver(new HandlerO)

/监听内容提供者数据发生改变

 public void onChange(boolean selfchange)

 super. onchange(selfchange);

 System.out. printin数据发生改变}
 }
 }
 };

2在内容提供者添加通知内容观察者代码

insert. update delete方法中

 Uri uri2=Uri. parse("content: /com, provider/insert")

 getcontext ) getcontentResolver. notifychange(uri2,nu11);

3、什么是广播接收者

  • Android系统中,内置了很多系统级别的广播,例如手机开机完成后会发送一条广播,电池电量不足时会发送一条广播等。
  • AndroidBroadcastRe系统中提供了广播接收者,广播接收者的作用就是接收来自系统或其他应用程序的广播,并作出回应。

在这里插入图片描述

4、广播接收者创建与注册

  • 要使用广播接收者接收其他应用程序发出的广播,先要在本应用中创建广播接收者并进行注册。

创建广播接收者

 public class MyBroadcastReceiver extends BroadcastReceiver

 @Override

 public void onReceive(Context context, Intent intent){
 }}

5、广播接收者创建与注册

注册广播有两种方式,常驻型广播与非常驻型广播。

1、注册常驻型广播

常驻型广播是当应用程序关闭后,如果接收到其他应用程序发出的广播那么该程序会自动重新启动。常驻型广播在清单文件中注册。

<action android: name=“android. orovider. TelephonySMS RECEIVED”

注册广播有两种方式,常驻型广播与非常驻型广播。

2、注册非常驻型广播

非常驻型广播依赖于注册广播的组件的生命周期,例如,在 Activity中注册播接收者,当 Activity销毁后广播也随之被移除这种广播事件在代码中注册

MyBroadCastReceiver receiver new MyBroadCastReceiver(;

String action =“android. provider. Telephony.SMS_RECEIVED”

IntentFilter intentFilter new IntentFilter(action):

registerReceiver(receiver, intentFilter):

非常驻型广播可以在 onDestory方法中解除广播具体代码如下

unregisterReceiver(receiver);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值