《android应用基础开发》课件——第6章 内容提供者.pptx

《android应用基础开发》课件——第6章 内容提供者.pptx

Android应用开发基础第六章

CONTENTS目录01内容提供者概述02创建内容提供者03访问其他应用程序04内容观察者

01内容提供者概述

内容提供者概述ContentProvider内容提供者(ContentProvider)是Android系统四大组件之一,它是不同应用程序之间进行数据共享的标准API,通过ContentResolver类可以访问ContentProvider中共享的数据。ContentProvider的工作原理如下:A程序B程序操作暴露的数据操作A程序的数据返回操作结果返回操作结果ContentProvider暴露的数据ContentResolver

内容提供者概述ContentProviderContentProvider使用基于数据库模型的简单表格来提供需要共享的数据,在该表格中,每一行表示一条记录,而每一列代表特定类型和含义的数据,并且其中每一条数据记录都包含一个名为“_ID”的字段类标识每条数据。_IDNAMENUMBEREMAIL1张华135*****233345**@2李白134*****345456**@163.com3赵龙136*****335445**@126.com4王冠138*****445332**@唯一标识,可以根据同一个ID查询几个相关表中的信息。知道各个字段对应的数据类型后,可根据Cursor对象提供的相关的方法,如,getInt()、getString()、getLong()等查询字段对应的值。

authority部分,是在创建内容提供者时指定的authorities属性值,通常采用程序包名的方式命名。path部分,“/person”代表资源(或者数据),可以动态改变。scheme部分,“content://”是一个标准的前缀。内容提供者概述ContentResolverContentResolver提供一系列增删改查的方法对数据进行操作,并且这些方法以Uri的形式对外提供数据。Uri为内容提供者中的数据建立了唯一标识符。它主要由三部分组成,scheme、authorities和path。content://cn.itcast.mycontentprovider/person

02创建内容提供者

创建内容提供者内容提供者创建步骤在程序包名处右击选择【New】?【Other】?【ContentProvider】选项输入内容提供者的ClassName(类名称)和URIAuthorities(唯一标识,通常使用包名)点击【Finish】按钮创建完成

创建内容提供者清单文件内容提供者创建完成后,AndroidStudio会自动在AndroidManifest.xml中对内容提供者进行注册。application............ providerandroid:name=.MyContentProviderandroid:authorities=cn.itcast.mycontentproviderandroid:enabled=trueandroid:exported=true/provider/application

03访问其他应用程序

访问其他应用程序Uriuri=Uri.parse(content://cn.itcast.mycontentprovider/person);ContentResolverresolver=context.getContentResolver();Cursorcursor=resolver.query(Uriuri,String[]projection,Stringselection,String[]selectionArgs,StringsortOrder);while(cursor.moveToNext()){Stringaddress=cursor.getString(0);longdate=cursor.getLong(1);inttype=cursor.getInt(2);}cursor.close();获取相应操作的Uri,Uri.parse()方法是将字符串转化成Uri对象。通过ContentResolver对象查询数据。获取ContentResolver对象。

访问其他应用程序多学一

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档