android学习笔记(5)BroadcastReceiver 和 ContentProvider功能详解

2014-12-2 20:47:35     16 人阅读    

BroadcastReceiver
           BroadcastReceiver是Android应用屮另一个重要的组件,顾名思义,BroadcastReceiver 代表广播消息接收器。从代码实现角度来看,BroadcastReceiver非常类似于事件编程中的监听器。与普通事件监听器不同的是:普通事件监听器监听的事件源是程序中的对象;而 BroadcastReceiver监听的事件源是Android应用中的其他组件。

           使用BroadcastReceiver组件接收广播消息比较简单,开发者只要实现自己的 BroadcastReceiver 子类,并重写 onReceive(Context context, Intent intent)方法即可。当其他组件通过 sendBroadcast()、sendStickyBroadcast()或 sendOrderedBroadcast()方法发送广播消息时, 如该 BroadcastReceiver 也对该消思“感兴趣通过 IntentFilter 配置),BroadcastReceiver 的onReceive(Context context,Intent intent)方法将会被触发。
开发者实现了自己的BroadcastReceiver之后,通常有两种方式来注册这个系统级的“事件监听器”。

         在 Java 代码中通过 Context.registReceiver()方法注册 BroadcastReceiver。
         在AndroidManifest.xml 文件中使用〈receiver.../〉元素完成BroadcastReceiver 的注册。

 

ContentProvider
        对于Android应用而言,它们必须相互独立,各自运行在自己的DaWik虚拟机实例中, 如果这些Android应用之间需要实现实时的数据交换。例如我们开发了一个发送短信的程序, 当发送短信时需要从联系人管理应用中读取指定联系人的数据——这就需要多个应用程序之 间进行实时的数据交换。

         Android系统为这种跨应用的数据交换提供了一个标准:ContentProvider。当用户实现自己的ContentProvider时,需要实现如下抽象方法。
         jnsert(Uri, ContentValues):向 ContentProvider 插入数据。
        delete(Uri, ContentValues):删除 ContentProvider 中指定数据。
        udpate(Uri, ContentValues,String, String[]):更新 ContentProvider 中指定数据。
        query(Uri,String[],String, String[],String):从 ContentProvider 査询数据。

     通常与ContentProvider结合使用的是ContentResolver,一个应用程序使用ContentProvider暴露自己的数据,而另一个应用程序则通过ContentResolver来访问数据。


原文地址:http://www.itmmd.com/201412/246.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

linux命令详解(7)检测已经安装的rpm软件包   上一篇
下一篇  linux命令详解(6)rpm软件管理命令详解

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!