内容提供者组件如何在Android应用中使用

  介绍

本篇文章给大家分享的是有关内容提供者组件如何在Android应用中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>一、基本概念

安卓四大组件之一内容提供者,它主要的作用是:实现各个应用程序之间的(跨应用)数据共享。

在这里涉及到进程通信问题,自然在Android中使用的是活页夹来进行,但是由于内容提供商提供的数据量一般都比较大不能够直接进行传递。

所以这里采用的是一种叫做匿名共享内存的方式进行数据传递,在不同的进程中只需要传递一个文件描述符就可以。

通过下图对内容提供商有个比较直观的了解:

内容提供者组件如何在Android应用中使用“> </p> <p> ContentProvider提供了在应用程序之前共享数据的一种机制。<br/> 1)存储和获取数据提供了统一的接口。<br/> 2)对数据进行封装,不用关心数据存储的细节。<br/> 3) Android为常见的一些数据提供了默认的内容提供者(包括音频,视频,图片和通讯录等)。</p> <p> <强>二、内容提供商的定义</强> </p> <p>如果需要使用内容提供者首先需要在AndroidManifest中进行申明</p> <pre类= & lt;提供者Android:当局=發ist"//该提供者的唯一ID   android: directBootAware=[“true"|“false"]   android:启用=[“true"|“false"]//能否被系统实例化   android:出口=[“true"|“false"]//该提供者能否被其他应用使用   android: grantUriPermissions=[“true"|“false"]   android:图标=翱衫膔esource"   android: initOrder=癷nteger"   android: label=白址畆esource"   android:多进程=[“true"|“false"]   android: name=皊tring"   android:许可=皊tring"   android:过程=皊tring"   android: readPermission=皊tring"//读权限   android: syncable=[“true"|“false"]   android: writePermission=皊tring"比;//写权限   。   & lt;/provider>

注意在提供者的属性中最重要的是政府,它是唯一能够标识一个提供者,contentprovider通过URI中的地址来查找到对应的提供者,其中该URI就包含了需要寻找的供应商中的当局属性值。
定义好的提供者最后被打包编译进入到PackageManagerService中。

在Java代码中定义一个供应商时需要继承其父类contentprovider,并实现增删查改方法。

 

在活动中获取ContentResolver调用其中的操作方法时,需要传入相对应的参数:


<强> uri: 传入对应的uri是为了查找到对应的提供者,跟供应商在清单中定义的当局值是一样

<强>投影:选择需要返回的对象属性值,有时候不需要将对象的值全部返回。

<强>选择/selectionArgs: 查询条件

<强> orderBy: 强返回的对象排序方式

类似其他的删除、插入和更新操作。最主要的是传入正确的uri才能找到对应的提供者。

以上就是内容提供商组件如何在android应用中使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内容提供者组件如何在Android应用中使用