ContentProvider
定义
- 可以进行跨app交换数据,类如广播
- 为内容提供者,主要用于两个app之间的数据通信,用于不同进程间的数据共享
- android四大组件之一
- 是一种数据包装器,用于不同进程间的数据共享
创建自定义ContentProvider的步骤
- 使用SQLite创建数据库和数据表
- 新建类继承ContentProvider
- 创建UriMatcher定义Uri规则
- 重写6个方法(onCreate,insert,delete,getType,update,query)
- 在AndroidManifest注册provider
- ContentResolver对ContentProvider共享的数据进行增删改查
ContentResolver
定义
- ContentResolver为数据调用者
- 通过调用ContentProvider,进行增删改查操作
Uri
- 通用资源标识符,代表要操作数据的地址
- 在调用ContentProvider前,必须先确定Uri
UriMatcher
- UriMatcher是用于匹配Uri的Uri规则工具类,匹配Uri后面的路径
- 当调用者传递过来Uri时,我们需要对Uri进行解析,确定调用者需要执行哪个操作
UriMatcher定义Uri规则
- 通过UriMatcher对象的addURI方法定义单挑和批量的Uri规则
- 定义单条和批量的Uri匹配码常量
代码实例
AndroidManifest绑定依赖库
<provider
android:name=".StudentProvider"
android:authorities="com.mymusic.SQLiteStudent2.provider"
android:enabled="true"