xamarin学习笔记A11(安卓ContentProvider)

来源:互联网 发布:三国志13女武将数据 编辑:程序博客网 时间:2024/06/04 18:35

(每次学习一点xamarin就做个学习笔记和视频来加深记忆巩固知识)
如有不正确的地方,请帮我指正。
内容提供器ContentProvider简介
内容提供器是用于跨程序共享数据。安卓中的电话簿、短信和媒体库等程序都实现了内容提供器,来给我们共享数据做二次开发。

创建内容提供器
通过继承ContentProvider类来创建自定义的内容提供器,然后重写这个类的6个抽象方法。

//初始化内容提供器(只有在ContentResolver访问本程序的数据时,内容提供器才被初始化)public override bool OnCreate()/*  得到uri对象相对应的MIME类型  例如传入的uri如果是content://com.abc.A10.provider/book  则它对应的mime类型是vnd.android.cursor.dir/vnd.com.abc.A10.provider.book*/public override string GetType(Android.Net.Uri uri)//通过内容提供器添加数据public override Android.Net.Uri Insert(Android.Net.Uri uri, ContentValues values)//通过内容提供器修改数据public override int Update(Android.Net.Uri uri, ContentValues values, string selection, string[] selectionArgs)//通过内容提供器删除数据public override int Delete(Android.Net.Uri uri, string selection, string[] selectionArgs)//通过内容提供器查询数据public override ICursor Query(Android.Net.Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder)

另一程序通过ContentResolver类的实例来访问内容提供器
这里写图片描述
访问过程如上图所示,例如APP3要访问APP1中的Book表的数据,则可通过ContentResolver实例对象的Insert()、Update()、Delete()和Query()方法来进行相应操作,最终实际上是调用了APP1中相对应的增删改查方法。Uri中的“com.abc.APP1”用来表示要访问的应用程序,“book”则表示要访问的具体的表。”book/1”表示要访问book表中id为1的数据。然后APP1把传入的uri解析后进行相应的操作。
代码和视频在我上传的CSDN资源中http://download.csdn.net/download/junshangshui/10010891

原创粉丝点击