内容提供器可以选择只对一部分数据进行共享
1 类型
(1)使用现有的内容提供器(一些系统应用提供的)读取和操作相应程序中的数据
(2)创建自己的内容提供器给我们程序的数据提供外部访问接口(供其他程序使用)
使用现有的内容提供器
1 使用ContentResolve类:通过Context中的getContentResolver类
步骤:
(1)构造URL对象:ContentResolve中不接收表名参数,采用一个Uri参数代替。
由权限、路径两部分组成。权限以包名命名,路径对同一程序不同的表进行区分。以下是一个完整的Url
content://com.example.app.provider/table1
其中,content://com.example.app.provider属于一个程序权限。table1是在一个程序里的一张表。
接着将上面的uri转为Uri对象。调用parse如下:
Uri uri=Uri.parse("content://com.example.app.provider/table")
(2)然后使用这个Uri对象来操作数据
Cursor cursor=getContentResolver().query(uri,若干参数)
返回一个Cursor对象
(3)将数据从Cursor中逐个取出来。
2 其他几个操作
getContentResolver().insert(uri,values);
getContentResolver().update(uri,values,)
gteContentResolver().delete()