内容观察者广播

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内容观察者使用

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广播接收者创建与注册

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

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);

猜你喜欢

转载自blog.51cto.com/14589602/2650739