12.2自定义ContentProviderppt课件(完整版).ppt
《12.2自定义ContentProviderppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《12.2自定义ContentProviderppt课件(完整版).ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、12.2 自定义ContentProviderppt课件(完整版)2022-5-19122022-5-19Uri实现ContentProvider目录目录CONTENT参考教材参考教材: :AndroidAndroid应用开发项目化教程应用开发项目化教程Urip含义uUri(通用资源标志符:Universal Resource Identifier)用来标识唯一的数据集。Urip作用uContentProvider通过暴露一个公共的Uri来标识唯一的数据集。uContentProvider可以控制多个数据集并为每一个数据集提供一个Uri。u如果定义了一个ContentProvider,就需要同
2、时为它的Uri定义一个常量。Urip组成 uA:标准前缀,用来说明这是一个ContentProvider所控制的数据集。uB:Uri的权限,它定义了是哪个ContentProvider提供这些数据。uC:路径,ContentProvider使用这些路径来确定当前需要什么类型的数据。uD:如果Uri中包含该部分,表示需要获取记录的ID;如果没有ID,就表示返回全部。Urip组成u示例l 所有联系人的Uri:content:/contacts/peoplel 某个联系人的Uri:content:/contacts/people/5l 所有图片Uri:content:/media/externall
3、 某个图片的Uri:content:/media/external/images/media/4Urip处理工具uUriMatcherl UriMatcher类主要用于匹配Uri。l 使用步骤:初始化UriMatcher 常量UriMatcher.NO_MATCH表示不匹配任何路径,返回码是1。Urip处理工具uUriMatcherl UriMatcher类主要用于匹配Uri。l 使用步骤:注册需要匹配的Uri路径 addURI()方法添加需要匹配的Uri,第一个参数传入标识ContentProvider的Authority字符串。第二个参数传入需要匹配的路径,这里的#代表匹配任意数字,另外还
4、可以用*来匹配任意文本。第三个参数必须传入一个大于零的匹配码,用于match()方法对相匹配的Uri返回相对应的匹配码。Urip处理工具uUriMatcherl UriMatcher类主要用于匹配Uri。l 使用步骤:使用uriMatcher.match(uri)方法对输入的Uri进行匹配,如果匹配就返回匹配码(大于0) 若无法匹配传入的Uri,抛出IllegalArgumentException异常。Urip处理工具uContentUrisl ContentUris用于获取Uri路径后面的ID部分。l 方法:pwithAppendedId(uri, id)用于为路径加上ID部分pparseI
5、d(uri)用于从路径中获取ID部分。Uriuri=Uri.parse(content:/com.yfz.Lesson/people) ;UriresultUri=ContentUris.withAppendedId(uri,10); longpersonid=ContentUris.parseId(uri); 实现ContentProviderp自定义ContentProvider的目的u如果App具有以下功能,建议使用l 想为其他应用提供复杂的数据或文件l 想允许用户将复杂的数据从自己的应用复制到其他应用中l 想使用搜索框架提供自定义搜索建议如果完全是在自己的应用中使用,建议直接使用 SQ
6、Lite 数据库。实现ContentProviderp设计步骤u为数据设计原始存储。l 文件数据l “结构化”数据u定义 ContentProvider 类及其所需方法的具体实现。u定义提供程序的权限字符串、其内容 URI 以及列名称。u添加其他可选部分。实现ContentProviderp设计数据存储u使用SQLiteOpenHelper来创建和管理SQLite数据库。实现ContentProviderp设计数据存储u使用SQLiteOpenHelper来创建和管理SQLite数据库。u注意:l 表数据应始终具有一个“主键”列,提供程序将其作为与每行对应的唯一数字值加以维护。 使用 Base
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12.2 自定义ContentProviderppt课件完整版 自定义 ContentProviderppt 课件 完整版
限制150内