zoukankan      html  css  js  c++  java
  • 说说BroadcastReceiver和ContentProvider

    上一篇说了Activity,Fragment和Service,今天来说说四大组件中的另外两个吧。

    BroadcastReceiver:

      广播在实际开发中非常有用,是各个组件间通讯的利器。广播接收器分为两种,一种是静态注册的,在xml文件中注册,这种是全局性质的广播接收器

      另外一种是在代码中动态注册的,要记得销毁,这种一般是作为组件的内部类,来接受消息,比如说像Activity和Service之间的通讯,在Activity中注册接收器,Service执行完发一个广播通知

    ContentProvider:

      作为4大组件之一,ContentProvider感觉是平时最容易被忽略的组件。作为内容提供者,暴露一个Uri出去。

      举三个例子吧:相册选择照片,onActivityResult()中返回的就是一个Uri,可以根据Uri找到图片的真实地址(这个貌似不是ContentProvider,就当说Uri吧)

      第二个,自定义一个ContentProvider,里面是sp或者沙盒内的数据库,文件等私有数据,对外暴露一个Uri,给另外一个进程调用,增删改查,查出来的是游标

      第三个,系统的ContentProvider,如下图,查系统联系人用的就是系统暴露出来的Uri,查出来的都是游标

    // 获取用来操作数据的类的对象,对联系人的基本操作都是使用这个对象  
    ContentResolver cr = getContentResolver();  
    // 查询contacts表的所有记录  
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null,   null, null);  
  • 相关阅读:
    Spring事务的一些基本知识(一)
    Redis管道
    Spring事务的一些基本知识(四)大事务的危害与优化
    登录页面测试点
    朋友圈点赞用例的设计点
    面向对象
    函数的重载
    构造代码块和静态代码块,构造函数的执行
    单例设计模式
    三分查找(2020icp南京F)
  • 原文地址:https://www.cnblogs.com/mark888/p/4817912.html
Copyright © 2011-2022 走看看