我的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”。
下载视频代码
相关推荐
Android数据共享概述 ContentProvider注册/实现 UriMatcher/ContentUris 系统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管理联系人的实例: package com.android.xiong.getsystemcontentprovidertest; import java.util.ArrayList; import android.app.Activity; import android.app.AlertDialog; import android....
本文实例讲述了Android内容提供者ContentProvider用法。分享给大家供大家参考,具体如下: PersonContentProvider内容提供者类 package com.ljq.db; import android.content.ContentProvider; import 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...
import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.UriMatcher; import android.database.Cursor; import android.database....
本文实例讲述了android编程实现系统图片剪裁的方法。分享给大家供大家参考,具体如下: ... import java.io.File;...import android.content.ContentUris; import android.content.Intent; import android.databas
//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序 ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName()); shortcut.putExtra(Intent....
本文实例讲述了Android编程实现调用相册、相机及拍照后直接裁剪的方法。分享给大家供大家参考,具体如下: ... import java.io.File;...import android.content.ContentUris; import android.content.Intent;