组件三:内容提供器Contain Provider

内容提供器可以选择只对一部分数据进行共享

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()

你可能感兴趣的:(组件三:内容提供器Contain Provider)