组件三:内容提供器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()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容