我的android 第24天 - ContentUris和ContentProvider

来源:互联网 发布:淘宝服务中心在哪 编辑:程序博客网 时间:2024/05/17 15:18

我的android 第24天 -  ContentUris和ContentProvider

ContentUris类使用介绍

     ContentUris类用于获取Uri路径后面的ID部分,它有两个比较实用的方法:

withAppendedId(uri, id)用于为路径加上ID部分:

 Uriuri =Uri.parse("content://cn.itcast.provider.personprovider/person")

UriresultUri = ContentUris.withAppendedId(uri,10);

//生成后的Ur为:content://cn.itcast.provider.personprovider/person/10

parseId(uri)方法用于从路径中获取ID部分:

Uriuri Uri.parse("content://cn.itcast.provider.personprovider/person/10")

longpersonid  ContentUris.parseId(uri);//获取的结果为:10

使用ContentProvider共享数据

ContentProvider类主要方法的作用:

publicboolean onCreate()

该方法在ContentProvider创建后就会被调用, Android开机后, ContentProvider在其它应用第一次访问它时才会被创建。

publicUri insert(Uri uri, ContentValuesvalues)

该方法用于供外部应用往ContentProvider添加数据。

publicintdelete(Uri uri,String selection, String[] selectionArgs)

该方法用于供外部应用从ContentProvider删除数据。

publicintupdate(Uri uri, ContentValuesvalues, String selection, String[] selectionArgs)

该方法用于供外部应用更新ContentProvider中的数据。

publicCursor query(Uri uri,String[] projection, String selection, String[] selectionArgs,String sortOrder)

该方法用于供外部应用从ContentProvider中获取数据。

publicString getType(Uri uri)

该方法用于返回当前Url所代表数据的MIME类型。如果操作的数据属于集合类型,那么MIME类型字符串应该以vnd.android.cursor.dir/开头,例如:要得到所有person记录的Uri为content://cn.itcast.provider.personprovider/person,那么返回的MIME类型字符串应该为:“vnd.android.cursor.dir/person”。如果要操作的数据属于非集合类型数据,那么MIME类型字符串应该以vnd.android.cursor.item/开头,例如:得到id为10的person记录,Uri为content://cn.itcast.provider.personprovider/person/10,那么返回的MIME类型字符串应该为:“vnd.android.cursor.item/person”。



下载视频代码

0 0
原创粉丝点击