`
_小菜鸟
  • 浏览: 34039 次
社区版块
存档分类
最新评论

我的android 第24天 - ContentUris和ContentProvider

 
阅读更多

 我的android 第24天 -  ContentUris和ContentProvider

ContentUris类使用介绍

 

     ContentUris类用于获取Uri路径后面的ID部分,它有两个比较实用的方法:

withAppendedId(uri, id)用于为路径加上ID部分:

 Uriuri =Uri.parse("content://cn.itcast.provider.personprovider/person")

UriresultUri = ContentUris.withAppendedId(uri,10);

//生成后的Ur为:content://cn.itcast.provider.personprovider/person/10

parseId(uri)方法用于从路径中获取ID部分:

Uriuri Uri.parse("content://cn.itcast.provider.personprovider/person/10")

longpersonid  ContentUris.parseId(uri);//获取的结果为:10

使用ContentProvider共享数据

 

 

ContentProvider类主要方法的作用:

publicboolean onCreate()

该方法在ContentProvider创建后就会被调用, Android开机后, ContentProvider在其它应用第一次访问它时才会被创建。

publicUri insert(Uri uri, ContentValuesvalues)

该方法用于供外部应用往ContentProvider添加数据。

publicintdelete(Uri uri,String selection, String[] selectionArgs)

该方法用于供外部应用从ContentProvider删除数据。

publicintupdate(Uri uri, ContentValuesvalues, String selection, String[] selectionArgs)

该方法用于供外部应用更新ContentProvider中的数据。

publicCursor query(Uri uri,String[] projection, String selection, String[] selectionArgs,String sortOrder)

该方法用于供外部应用从ContentProvider中获取数据。

publicString getType(Uri uri)

该方法用于返回当前Url所代表数据的MIME类型。如果操作的数据属于集合类型,那么MIME类型字符串应该以vnd.android.cursor.dir/开头,例如:要得到所有person记录的Uri为content://cn.itcast.provider.personprovider/person,那么返回的MIME类型字符串应该为:“vnd.android.cursor.dir/person”。如果要操作的数据属于非集合类型数据,那么MIME类型字符串应该以vnd.android.cursor.item/开头,例如:得到id为10的person记录,Uri为content://cn.itcast.provider.personprovider/person/10,那么返回的MIME类型字符串应该为:“vnd.android.cursor.item/person”。



下载视频代码

 

 

下载视频代码
分享到:
评论

相关推荐

    APP开发教程 Java Android移动端开发 13、Android数据存储和共享(二) 共25页.pptx

    Android数据共享概述 ContentProvider注册/实现 UriMatcher/ContentUris 系统ContentProvider 联系人 系统设置…

    ContentProvider

    import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.UriMatcher; import android....

    contentprovider

    当应用继承ContentProvider类 并重写该类用于提供数据和存储数据的方法 就可以向其他应用共享其数据 虽然使用其他方法也可以对外共享数据 但数据访问方式会因数据存储的方式而不同 如:采用文件方式对外共享数据 ...

    Android中使用ContentProvider管理系统资源的实例

    ContentProvider管理联系人的实例: package com.android.xiong.getsystemcontentprovidertest; import java.util.ArrayList; import android.app.Activity; import android.app.AlertDialog; import android....

    Android内容提供者ContentProvider用法实例分析

    本文实例讲述了Android内容提供者ContentProvider用法。分享给大家供大家参考,具体如下: PersonContentProvider内容提供者类 package com.ljq.db; import android.content.ContentProvider; import android....

    android手机通讯录备份还原代码

    long rawContactId = ContentUris.parseId(rawContactUri); values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); values.put...

    android 360安全卫士 反编译源码

    import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.UriMatcher; import android.database.Cursor; import android.database....

    android编程实现系统图片剪裁的方法

    本文实例讲述了android编程实现系统图片剪裁的方法。分享给大家供大家参考,具体如下: ... import java.io.File;...import android.content.ContentUris; import android.content.Intent; import android.databas

    android开发使用例子

    //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序 ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName()); shortcut.putExtra(Intent....

    Android编程实现调用相册、相机及拍照后直接裁剪的方法

    本文实例讲述了Android编程实现调用相册、相机及拍照后直接裁剪的方法。分享给大家供大家参考,具体如下: ... import java.io.File;...import android.content.ContentUris; import android.content.Intent;

Global site tag (gtag.js) - Google Analytics