ContentProvider 简介
内容提供程序(Content Provider)是 Android 应用程序四大组件之一,它提供了对应用使用的底层数据的抽象,使其他应用可以通过 ContentResolver 接口访问其数据,而无需了解数据的具体存储方式。
使用 ContentProvider
实现 ContentProvider 类
ContentProvider 是一个抽象类,开发者需要实现其中一些方法才能使用:
onCreate()
: 用来初始化内容提供程序提供程序。query(Uri, String[], Bundle, CancellationSignal)
: 返回数据给调用者。insert(Uri, ContentValues)
: 插入新数据。update(Uri, ContentValues, String, String[])
: 更新现有的数据。delete(Uri, String, String[])
: 删除数据。getType(Uri)
: 返回数据的 MIME 类型。
注意数据访问的方法可能被多个线程同时访问,因此需要做到线程安全。
配置清单文件
仅仅一个自定义类还不够,ContentProvider与activity、service一样,需要在AndroidManifest.xml文件中进行配置。