运维开发网

内容提供者简介

运维开发网 https://www.qedev.com 2021-04-19 12:33 出处:51CTO 作者:wx5db39f8c13594
1、内容提供者(ContentProvider)是Android系统四大组件之一,用于保存和检索数据,Android系统中不同应用程序之间共享数据的接口。ContentProvider是不同应用程序之间进行数据交换的标准API,以Uri形式对外提供数据,允许其他应用操作本应用数据。其他应用则使用ContentResolver,并根据ContentProvider提供的Uri操作指定数据。2、创建一

1、

内容提供者(ContentProvider)是Android系统四大组件之一,用于保存和检索数据,Android系统中不同应用程序之间共享数据的接口。

ContentProvider是不同应用程序之间进行数据交换的标准API,以Uri形式对外提供数据,允许其他应用操作本应用数据。其他应用则使用ContentResolver,并根据ContentProvider提供的Uri操作指定数据。

2、创建一个内容提供者

定义一个类继承android.content包下的ContentProvider类(抽象类)。子类需要重写它的onCreate()、delete()、getType()、insert()、query()、update()这几个抽象方法。

ContentProvider是四大组件之一,必须要在清单文件中注册

<provider>

android:name="cn.itcast.db.PersonDBProvider"

android:authorities="cn.itcast.db.personprovider">

</provider>

3.uri简介

contentprovider的几个抽象方法,这几个抽象方法中有一个参数uri,它代表了数据的操作方法,uri是由scheme、authorites、path三部分组成

scheme:“ content”是一个标准的前缀,表明这个数据被内容提供者所

控制,它不会被修改;

authorities: "cr.ias. b. personprovider”是在清单文件中指定的

android: authorities属性值,该值必须唯一,它表示了当前的内容提供者;

ath:“ /person”代表资源(或者数据),当访问者需要操作不同数据时这个部分是动态改变的

3、ContentResolver的基本用法

在Android系统中,ContentResolver充当着桥梁的角色。应用程序通过ContentProvider暴露自己的数据,通过ContentResolver对应用程序暴露的数据进行操作。

通过ContentResovler对象实现数据的操作代码如下:

Uri uri=Uri.parse(“content://cn.itcast.db.personprovider/person”);

ContentResolver resolver=context.getContentResolver();

Cursor cursor = resolver . query ( un , new String ( " address " , " date " , " type " , " body " ) , null , null , null )

while(cursor.moveToNext()){

String address=cursor.getString(0)

0

精彩评论

暂无评论...
验证码 换一张
取 消