我的android学习

四大组件-内容提供者ContentProvider

2019-07-13  本文已影响0人  吕注意

定义

内容提供者,是Android四大组件之一

作用

进程之间进行数据 交互、共享 ,即跨进程通信

1.内容提供者只是搬运工,真正的存储、操作数据的数据源还是原来存储数据的方式(数据库、文件、xml或网络)
2.数据源可以为:数据库、文件、XML或网络等

原理

ContentProvider的底层原理 即为 Binder的机制

具体使用

ContentProvider的使用主要有以下内容:

1.统一资源标识符(URI)

外界进程通过URI找到对应的ContentProvider及其中的数据,再进行数据操作

自定义URI=content://com.wz.provider/User/1 , 其中

  • 主题Schema(content):ContentProvider的URI前缀(Android规定)
  • 授权信息Authority(com.wz.provider) :ContentProvider的唯一标识符
  • 表名Path(User):ContentProvider指向数据库的某个表名
  • 记录ID(1):表中的某个记录(若无指定则返回全部记录)
//设置URI
Uri uri=Uri.parse("content://com.wz.provider/User/1")
// 上述URI指向的资源是:名为 `com.wz.provider`的`ContentProvider` 中表名 为`User` 中的 `id`为1的数据
// 特别注意:URI模式存在匹配通配符* & #

// *:匹配任意长度的任何有效字符的字符串
// 以下的URI 表示 匹配provider的任何内容
content://com.example.app.provider/* 

// #:匹配任意长度的数字字符的字符串
// 以下的URI 表示 匹配provider中的table表的所有行
content://com.example.app.provider/table/#
2.MIME数据类型
3.ContentProvider类
组织数据的方式
主要方法
ContentResolver类
作用:
ContentResolver存在的原因:
使用:
4.辅助工具类
ContentUris类
UriMatcher类
ContentObserver类
5.实例使用

ContentProvider不仅可以用于进程之间的通信,也可以用于进程内的通信

6.感谢

文章出处:简书大神 Carson_Ho
博客地址:https://www.jianshu.com/p/ea8bc4aaf057

上一篇 下一篇

猜你喜欢

热点阅读