Android 中ContentProvider和Uri详解

2014-11-24 07:17:40 · 作者: · 浏览: 3

一、使用ContentProvider(内容提供者)共享数据


使用ContentProvider对外共享数据的好处是统一了数据的访问方式。


当应用需要通过ContentProvider对外共享数据时,第一步需要继承ContentProvider并重写下面方法:


publicclass PersonContentProvider extends ContentProvider{
publicboolean onCreate()
public Uri insert(Uri uri, ContentValues values)
publicint delete(Uri uri, String selection, String[] selectionArgs)
publicint 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)
}


第二步需要在AndroidManifest.xml使用对该ContentProvider进行配置,为了能让其他应用找到该ContentProvider ,ContentProvider采用了authorities(主机名/域名)对它进行唯一标识,你可以把ContentProvider看作是一个网站(想想,网站也是提供数据者),authorities 就是他的域名:


<manifest.... >
<application android:icon="@drawable/icon" android:label="@string/app_name">
<provider android:name=".PersonContentProvider"
android:authorities
="com.ljq.providers.personprovider"/>
application>
manifest>