Android Uri详解:操作与匹配
需积分: 10 102 浏览量
更新于2024-09-11
1
收藏 29KB DOCX 举报
“Android Uri的理解资料,包括Uri的基本概念、组成结构以及UriMatcher和ContentUris的使用。”
在Android开发中,Uri(Universal Resource Identifier)是一个关键的概念,它用于标识应用程序中可访问的各种资源,比如联系人、图片、视频等。Uri不仅仅是URL(Uniform Resource Locator),而是更广泛的标识符,它包含了定位和描述资源的所有必要信息。
Uri通常由三部分构成:
1. 命名机制:这是指访问资源的方式,例如"content://"、"file://"或"android.resource://",表明资源是内容提供者、本地文件系统还是应用资源。
2. 主机名:在Android中,这个部分通常是数据提供者的包名,用来标识数据来源。
3. 资源路径:这部分指定资源的具体位置,可以是路径形式,如"/people",或者是包含ID的形式,如"/person/5"。
Android Uri的一个常见例子是:
- 所有联系人的Uri:`content://contacts/people`
- 某个联系人的Uri:`content://contacts/people/5`
- 所有图片Uri:`content://media/external`
- 某个图片的Uri:`content://media/external/images/media/4`
开发者在实际操作Uri时,通常需要解析Uri以获取数据。Android为此提供了两个辅助类:
1. UriMatcher:这是一个工具类,用于高效地匹配Uri。通过预先注册Uri模式,然后使用`match()`方法与目标Uri进行比较,返回匹配的代码。例如:
- 初始化:`UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH);`
- 注册Uri:`matcher.addURI("com.yfz.Lesson", "people", PEOPLE); matcher.addURI("com.yfz.Lesson", "person/#", PERSON_ID);`
- 匹配Uri:`Uri uri = Uri.parse("content://" + "com.yfz.Lesson" + "/people"); int match = matcher.match(uri);`
- 之后根据`match`值进行相应的操作。
2. ContentUris:这个类主要用于处理包含ID的Uri,它提供了一些方法如`withAppendedId()`,可以方便地在已有的Uri基础上附加ID,例如:
- `Uri itemUri = ContentUris.withAppendedId(uri, id);`
掌握UriMatcher和ContentUris的使用对于开发涉及数据查询和操作的应用程序至关重要。通过UriMatcher,可以高效地识别并处理不同类型的Uri请求,而ContentUris则简化了对具有特定ID资源的操作。了解这些基础知识,能够提升Android应用的开发效率和代码质量。
2020-08-28 上传
2021-01-05 上传
2021-01-03 上传
2024-02-03 上传
2023-11-08 上传
2023-05-25 上传
2023-05-14 上传
2024-10-03 上传
NIKO_HAO
- 粉丝: 3
- 资源: 5
最新资源
- Credit_Risk_Analysis:使用机器学习算法进行分析以使用LendingClub的数据集识别信用卡风险
- Audio:project project这个项目是使用https制作的
- 智能果蔬水培系统
- stock-analysis
- MySalesCarProject
- sheql:调度查询语言
- 【地产资料】XX地产店长管理核心大纲.zip
- P2P-draw:点对点绘图应用程序
- CEUB-PPW:计划网络的动产仓库
- Shopping-Application-Java-:具有文本文件数据库的购物应用程序
- CS441_Proj6:自己设计的游戏
- Excel模板外币贷款明细表.zip
- npm-why:标识为什么安装了软件包。 等同于npm软件包的“ yarn why”
- R-code
- PTT-18Plus:主流浏览器附加元件,用来略过PTT 的「电脑网路内容分级处理办法」确认画面
- 一个基于hadoop的大数据实战.zip