Android四大组件之ContentProvider

一、简介

ContentProvider是android四大组件之一的内容提供者,它主要的作用就是将程序的内部的数据和外部进行共享,为数据提供外部访问接口,被访问的数据主要以数据库的形式存在(可以是任意数据),而且还可以选择共享哪一部分的数据。这样一来,对于程序当中的隐私数据可以不共享,从而更加安全。ContentProvider是android中一种跨程序共享数据的重要组件。

二、基本知识

1、ContentProvider开发步骤

1)、继承ContentProvider,实现query()、insert()、update()和delete()等方法

2)、在AndroidManirest.xml文件中注册该ContentProvider,并指定authorities属性。设置android:exported="true"。是否允许其他应用调用

2、ContentResolver开发步骤

1)、获取getContentResovler

Context.getContentResovler()

2)、调用ContentResovler的query()、insert()、update()和delete()操作数据。实际上就是调用指定url对应的ContentProvider的query()、insert()、update()和delete()

3)、监听ContentProvider数据的改变

contentResolver.registerContentObserver(uri, true, new ContentObserver());

3、ContentProvider和ContentResolver的关系

1)、ContentProvider提供数据

2)、ContentResolver操作数据

4、UriMatcher

1)、void addURI(String authority, String path, int code)。向UriMatcher注册Uri

2)、int match(Uri uri)。根据前面注册的Uri来判断指定对的Uri对应的标识码

5、ContentUris

1)、withAppendendid(uri, id)。为uri加上id部分

2)、parseId(uri)。从uri解析出所包含的ID值


版权声明:本文为u011682673原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。