数据:ContentProvider类

一个程序可以通过实现一个Content provider的抽象接口将自己的数据完全暴露出去,而且Content providers是以类似数据库中表的方式将数据暴露

 

Content providers存储和检索数据,通过它可以让所有的应用程序访问到,这也是应用程序之间唯一共享数据的方法

 

要想使应用程序的数据公开化,可通过2种 方法:

1)创建一个属于你自己的Content provider

2)将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限

 

从数据共享的角度出发,ContentProvider应该是Android在系统启动时就创建了,否则就谈不上数据共享了。 这就要求在AndroidManifest.XML中使用<provider>元素明确定义。

 

当应用需要通过ContentProvider对外共享数据时,步骤如下:

【1】继承ContentProvider并重写下面方法:

         public class PersonContentProvider extends ContentProvider{

   public boolean onCreate()

   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(内容提供者)

你可能感兴趣的:(数据:ContentProvider类)