ContentProvider 简介
ContentProvider是不同应用程序之间交换数据的标准API,
ContenProvider以某种uri的形式向外提供数据,允许其他应用访问或修改数据;、
其他程序通过ContentResolve根据Uri去访问操作指定的数据
使用时需要在manifest。xml中配置一下
<provider android:name=".DictProvider"
android:authorities = "org.crazyit.providers.dctprovider" />
name-->指定contentProvider类
authoritied-->指定Contentprovider的路径
public boolean onCreate():该方法在ContentProvider创建后调用,
当其他应用程序第一次访问ContentProvider时,该ContentProvider会被创建,
然后立即调用onCreate();
public Uri insert(Uri uri, ContentValues values):根据该Uri 插入values对应的数据
public int delete(Uri uri, String selection, String[] selectionArgs):根据Uri删除select条件所匹配的全部记录
public int update(Uri uri, ContentValues values,String selection ,String[] selectionArgs):据uri改条件匹配的全部记录
public Cursor query(Uri uri ,string[] projection, String selection,String[] selectionArgs, String sortOrder):根据
Uri查询条件所匹配的所有记录,其中projection就是一个列名列表,表明秩序阿泽出指定的数据列
public String getType(Uri uri):返回Uri所代表的数据的MIME类型。
若所对应数据可能包括多条记录那么MIME类型字符串应以vnd.android.cursor.dir/开头;
不然就以vnd.android.cursor.item/开头
Uri 详解
例: content://org.crazyit.provider.dictprovider/words
conten://t-->这部分是Android规定的,是固定的
org.crazyit.provider.dictprovider-->这部分是ContentProvider的authority。
words--->资源部分,访问不同资源的时候这个部分是动态的
word/2-->wrod数据中ID为2的记录
word/2/key-->wrod数据中ID为2的记录的key字段
word/detail/-->word节点下的detail节点