zoukankan      html  css  js  c++  java
  • Android之ContentProvider组件

    一、内容提供者

      1、分为系统自带的内容提供者和自定义的内容提供者
      2、系统内容提供者:一般在数据库下/data/data/下以com.android.provider开头的包名,都是有系统内容提供者的,比如短信,联系人。获得短信,联系人信息等都是通过系统的内容提供者。
      3、自定义的内容提供者:现有两个工程A和B,A中有数据库,B要访问A中私有化的数据库,但是A中的数据库外界无法直接访问,所以我们需要在A中自定义内容提供者,对外提供操作A中数据库的方法,将操作数据库的方法公开化,内容提供者提供增删改查的方法,B通过调用这些方法对A的数据库进行操作。

    二、自定义内容提供者

         1、定义类继承ContentProvider,并实现其中的方法()   
    1 public class Provider extends ContentProvider {
    2     @Override
    3     public boolean onCreate() {
    4         // TODO Auto-generated method stub
    5         return false;
    6     }
    7 }
      2、清单文件中配置
        android:authorities="myProvider" 标识,content://myProvider是要访问的内容提供者
        android:exported="true"置为true,其他程序也可以访问  
    1 <provider android:name="com.example.myprovider.Provider"
    2     android:authorities="myProvider"
    3     android:exported="true"/>

    三、访问内容提供者

      1、获取中间人ContentResolver
      2、提供uri,观察谁,就用谁的uri
      3、注册内容观察者ContentObserver
        比如监听系统的所有短信的变化,系统短信已经有了内容提供者,我们只需与系统短信的uri匹配上,我们就可以操作它,此时我们不需要写内容提供者
  • 相关阅读:
    SpringMVC在Controller层中注入request的坑
    org.postgresql.util.PSQLException: 栏位索引超过许可范围:3,栏位数:2。
    jQuery函数attr()和prop()的区别
    jquery中prop()方法和attr()方法的区别浅析
    Android View 绘制流程
    Android配置构建变体
    使用 Java 8 语言功能
    HTTPS和HTTP的区别
    “京东金融”主页效果 RecyclerView联动
    javasscript基础
  • 原文地址:https://www.cnblogs.com/myxiaoQ/p/3650097.html
Copyright © 2011-2022 走看看