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匹配上,我们就可以操作它,此时我们不需要写内容提供者
  • 相关阅读:
    HTML CSS整理笔记
    2020软件工程最后一次作业
    form表单的基本用法
    图片预加载和懒加载(2)——懒加载
    ES6——promise基础
    图片预加载和懒加载(2)——预加载
    图片预加载和懒加载(1)
    js时间——转换为我们需要的格式
    原生js瀑布流
    富文本——小程序中使用特殊符号及标签
  • 原文地址:https://www.cnblogs.com/myxiaoQ/p/3650097.html
Copyright © 2011-2022 走看看