对于Android应用而言,他们必须相互独立,各自运行在自己的Dalvik虚拟机实例中,如果这些Android应用之间需要实现实时的数据交换——例如我们开发了一个发送短信的程序,当发送短信时需要从联系人管理应用中读取指定联系人的数据——这就需要多个应用程序之间进行实时的数据交换。
Android系统为这种跨应用的数据交换提供了一个标准:ContentProvider。当用户实现自己的ContentProvider时,需要实现如下抽象方法:
insert(Uri,ContentValues):向ContentProvider插入数据。
delete(Uri,ContentValues):删除ContentProvider中指定数据。
update(Uri,ContentValues,String,String[]):更新ContentProvider中指定数据。
query(Uri,String[],String,String[],String):从ContentProvider查询数据。
通常与ContentProvider结合使用的是ContentResolver,一个应用程序使用ContentProvider暴露自己的数据,而另一个应用程序则通过ContentResolver来访问数据。