一、ContentProvider 介绍
定义
ContentProvider是Android四大组件之一,其本质上是一个标准化的数据管道,它屏蔽了底层的数据管理和服务等细节,以标准化的方式在Android 应用间共享数据、数据交互,跨进程通信。
原理
ContentProvider的底层是采用 Android中的Binder机制
具体请看文章 图文详解 Android Binder跨进程通信的原理
特点
安全,访问简单,高效,统一了数据的访问方式。
二、使用方法
1、自定义ContentProvider类
该类需要继承Android提供的ContentProvider基类。然后实现ContentProvide的抽象方法,实现对数据的CRUD(create,retrieve,update,delete),还有onCreate和getType。
- onCreate(),该方法在ContentProvider创建后会被调用,当其他应用程序第一次访问ContentProvide时,该ContentProvider会被创建出来,并立即回调该onCreate方法
- getType(Uri uri), 返回 当前Uri所代表的数据的MIME类型。如果该Uri对应数据可能包括多条记录,那么MIME类型字符串应该以 vnd.android.cursor.dir/开头;如果该Uri对应的数据只包含一条记录,那么返回MIME类型字符串应该