内容提供者(ContentProvider)主要作用是对外共享数据,如果数据通过内容提供者对外共享了,那么其他应用就可以从内容提供者中查询到数据,并且可更新数据、删除数据、添加数据,如果采用文件的操作模式对外共享数据,数据的访问方式会因为存储方式的不同导致数据的访问方式无法得到统一,不同存储方式文件对外进行共享其访问的ApI是不一样的,如果采用内容提供者对外共享数据就会统一了数据的访问方式。采用统一的API访问共享的数据。
创建内容提供者步骤
1.创建内容提供者需要继承android.content.ContentProvider
2.清单文件中进行配置:
<!--android:name:指定内容提供者的类名,android:authorities:调用内容..名称,随意取 -->
<provider android:name=".PersonProvider" android:authorities="cn.test.providers.personprovider"/>
ContentProvider类主要方法
public boolean onCreate()
该方法在ContentProvider创建后就会被调用, Android开机后, ContentProvider在其它应用第一次访问它时才会被创建。
public Uriinsert(Uri uri, ContentValues values)
该方法用于供外部应用往ContentProvider添加数据。
public int delete(Uri uri, String selection,String[] selectionArgs)
该方法用于供外部应用从ContentProvider删除数据。
public int update(Uri uri, ContentValues values, Stringselection, String[] selectionArgs)
该方法用于供外部应用更新ContentProvider中的数据。
public Cursorquery(Uri uri, String[]projection, String selection, String[] selectionArgs, String sortOrder)
该方法用于供外部应用从ContentProvider中获取数据。
示例:
内容提供者类,实现数据的增删改查
其他工程中访问: