一个程序能够经过实现一个Content provider的抽象接口将本身的数据彻底暴露出去,并且Content providers是以相似数据库中表的方式将数据暴露。android
Content providers存储和检索数据,经过它能够让全部的应用程序访问到,这也是应用程序之间惟一共享数据的方法。数据库
要想使应用程序的数据公开化,可经过2种 方法:app
1)建立一个属于你本身的Content provideride
2)将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型而且有写入Content provider的权限 spa
从数据共享的角度出发,ContentProvider应该是Android在系统启动时就建立了,不然就谈不上数据共享了。 这就要求在AndroidManifest.XML中使用<provider>元素明肯定义。xml
当应用须要经过ContentProvider对外共享数据时,步骤以下:继承
【1】继承ContentProvider并重写下面方法:接口
public class PersonContentProvider extends ContentProvider{get
public boolean onCreate() string
public Uri insert(Uri uri, ContentValues values)
public int delete(Uri uri, String selection, String[] selectionArgs)
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs)
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
public String getType(Uri uri)
}
【2】在AndroidManifest.xml使用<provider>对该ContentProvider进行配置:
<manifest .... >
<application android:icon="@drawable/icon" android:label="@string/app_name">
<provider android:name=".PersonContentProvider" android:authorities="cn.itcast.provider.personprovider"/>
</application>
</manifest>
注意:一旦应用继承了ContentProvider类,后面咱们就会把这个应用称为ContentProvider(内容提供者)