资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
第七章跨程序共享数据-探究内容提供器Android软件开发主讲:王海本章目标了解ContentProvider类和ContentResovler类能够开发ContentProvider程序能够操作系统的ContentProviderAndroid软件开发主讲:王海ContentProvider类ContentProvider是Android应用的四大组件之一用于存储、检索数据,并向应用程序提供访问数据的接口方法方法功能描述功能描述public abstract boolean onCreate()创建ContentProviderh后会被调用public abstract Uri insert(Uri uri,ContentValues values) 根据Uri插入values对应的数据public abstract int delete(Uri uri,Stringselection,String selectionArgs)根据Uri删除selection条件所匹配的全部记录public abstract int update(Uri uri,ContentValuesvalues,String selection,String selectionArgs)根据Uri修改selection条件所匹配的全部记录public abstract Cursor query(Uri uri,String projection,String selection,String selectionArgs,String sortOrder)根据Uri查询selection条件所匹配的全部记录,其中projection是一个列名列表,表明只选出指定的数据列public abstract String getType(Uri uri)获得当前Uri所代表的MIME数据类型public final Context getContext()获得Context对象Android软件开发主讲:王海UriUri是ContentProvider对外提供一个自身数据集的唯一标识【语法】 “content:/”是ContentProvider规定的协议,用来标识ContentProvider所管理的schema;所有的Uri都以“content:/”开头; “数据路径”用于查找所要操作的ContentProvider; “标识ID”是可选的,标识不同数据资源,当访问不同资源时,该ID是动态改变的。 【示例】返回设备中存储的所有图片的Uricontent:/数据路径/标识ID(可选)content:/media/internal/imagesAndroid软件开发主讲:王海ContentResolver类ContentResolver是内容解析器,提供了对ContentProvider数据进行查询、插入、修改和删除等操作的方法方法功能描述insert(Uri uri,ContentValues values)向Uri对应的ContentProvide中插入values对应的数据delete(Uri uri,String where,String selectionArgs)删除Uri对应的ContentProvide中where匹配的数据update(Uri uri,ContentValues values,String where,String selectionArgs)更新Uri对应的ContentProvide中where匹配的数据query(Uri uri,String projection,String selection,String selectionArgs,String sortOder)查询Uri对应的ContentProvide中where匹配的数据Android软件开发主讲:王海开发ContentProvider程序步骤 创建一个ContentProvider子类,并实现query()、insert()、update()和delete()等方法; 在AndroidManifest.xml配置文件中注册ContentProvider,并指定android:authorities属性; 使用ContentProvider。Activity和Service等组件都可以获取ContentProvider对象,并调用该对象相应的方法进行操作。Android软件开发主讲:王海管理联系人Android系统用于管理联系人的ContentProvider的Uri有以下三种: ContactsContract.Contacts.CONTENT_URI:管理联系人的Uri ContactsContract.CommonDataKinds.Phone.CONTENT_URI:管理联系人的电话Uri ContactsContract.CommonDataKinds.Email.CONTENT_URI:管理联系人的E-mail的UriAndroid软件开发主讲:王海管理多媒体Android提供了Camera API来支持拍照、拍摄视频多媒体ContentProvider的Uri: MediaStore.Audio.Media.EXTERNAL_CONTENT_URI:存储在外部SD存储卡中的音频文件的Uri MediaStore.Audio.Media.INTERNAL_CONTENT_URI:存储在手机内存中的音频文件的Uri MediaStore.Images.Media.EXTERNAL_CONTENT_URI:存储在外部SD存储卡中的图片文件的Uri MediaStore.Images.Media.INTERNAL_CONTENT_URI:存储在手机内存中的图片文件的Uri MediaStore.Video.Media.EXTERNAL_CONTENT_URI:存储在外部SD存储卡中的视频文件的Uri MediaStore.Video.Media. INTERNAL_CONTENT_URI:存储在手机内存中的视频文件的UriAndroid软件开发主讲:王海本章总结ContentProvider是Android应用的四大组件之一ContentProvider类提供了insert()、delete()、update()、query()和getType()等操作数据的抽象方法Uri是每一个ContentProvider都对外提供一个自身数据集的唯一标识在开发过程中通过ContentResolver来间接操作ContentProvider所提供的数据每个应用程序的上下文都有一个默认的ContentResolver实例对象,可以调用getContentResolver()方法获取ContentResolver实例对象
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号