•ContentProvider是一个特殊的存储数据的类型,它提供了一套标准的接口用来获取以及操作数据。
来存放和获取数据并使这些数据可以被所有的应用程序访问。它们是应用程序之间共享数据的唯一方法;不存在所有Android软件包都能访问的公共储存区域。
•通过ContentResolver来使用具体的某个ContentProvider。
•contentResolver提供的方法:
–query()
–insert()
–update()
–delete()
URI组成
<standard_prefix>://<authority>/<data_path>/<id>
standard_prefix :标准前缀,用来说明一个Content Provider控制这些数据,无法改变的;
authority : URI的标识,它定义了是哪个Content Provider提供这些数据。对于第三方应用程序,为了保证URI标识的唯一性,可以是一个类名。
这个标识在<provider> 元素的authorities属性中说明:<provider name=”.SampleProvider”authorities=”net.innovationoffice.android.provider”>
data_path : 路径,Content Provider使用这些路径来确定当前需要生什么类型的数据,URI中可能不包括路径,也可能包括多个
id : 如果URI中包含,表示需要根据ID获取记录;如果没有ID,就表示返回全部