1、数据共享标准:ContentProvider简介
ContentProvider是不同应用程序之间进行数据交换的标准API,ContentProvider以某种Uri的形式对外提供数据,允许其他应用访问或修改数据:其它应用程序使用ContentResolver根据Uri去访问操作指定数据。
ContentProvider也是Android应用的四大组件之一,与Activity、Service、BroadcastReceiver相似,它们都需要在AndroidManifest.xml文件中进行配置。
(1)开发一个ContentProvider的步骤:
a、定义自己的ContentProvider类,该类需要继承Android提供的ContentProvider基类。
b、在AndroidManifest.xml文件中注册这个ContentProvider,就像注册Activity一样,注册ContentProvider时需要为它绑定一个域名。向Android系统中注册ContentProvider只要在<application.../>元素下添加如下子元素:
<provider android:name=“.DictProvider” android:authorities=“org.lxj.provider.dictprovider”/>//其中name属性指定ContentProvider类,authorities就相当于为该ContentProvider指定域名。
当我们想Android系统注册了ContentProvider之后,其它应用程序就可通过该Uri来访问DictProvider所暴露的数据了
那么DictProvider如何暴露它所提供的数据呢?其实很简单,应用程序对数据的操作无非就是CRUD操作,因此DictProvider除了需要继承ContentProvider之外,还需要提供如下几个方法:
a、public boolean onCreate():该方法在ContentProvider创建后会被调用,当其它应用程序第一次访问ContentProvider时,该ContentProvider会被创建出来,并立即回调该onCreate()方法。
b、public Uri insert(Uri uri,ContentValues values):根据Uri插入values对应的数据。
c、public int delete(Uri uri,String selection,String[ ] selectionArgs):根据Uri删除select条件所匹配的全部记录。
d、public int update(Uri uri,ContentValues values,String selection,String[ ] selectionArgs):根据Uri修改select条件所匹配的全部记录。
e、public Cursor query(Uri uri,String