内容提供器是Android四大组件之一,主要用于实现不同应用程序之间的数据共享。简单来说,内容提供器相当于一个接口,其他应用程序可以通过这个接口来访问该程序的数据。内容提供器内的数据是被许可访问的,其他隐私数据无法通过内容提供器访问,从而保证了数据的安全性。
内容提供器内的数据是通过内容URI来标识的,内容URI包含两部分:authority和path。authority用来区分不同的应用程序,通过使用包名来区分,比如:com.example.test.provider。path用来区分同一个程序内不同的数据表,比如:/table1。所以完整的内容URL为:content://com.example.test.provider/table1,表示想访问的的数据是应用程序test内表table1的数据。
1.创建内容提供器
新建一个MyProvider类去继承ContentProvider类。ContentProvider类有6个抽象方法,分别是onCreate()、query()、insert()、update()、delete()、getType()。这6个抽象方法都要在子类中进行重写。
在MyProvider类中使用到了一个UriMatcher类,通过UriMatcher类实现内容URI的匹配功能。具体代码如下:
public class MyProvider extends ContentProvider{
public static final int TABLE1_DIR = 0;
public static final int TABLE2_ITEM &