形成一个Resource Uri:
public Uri getResourceUri(Context packageContext, int res) {
try {
Resources resources = packageContext.getResources();
return getResourceUri(resources, packageContext.getPackageName(),
res);
} catch (Resources.NotFoundException e) {
return null;
}
}
private static Uri getResourceUri(Resources resources, String appPkg,
int res) throws Resources.NotFoundException {
String resPkg = resources.getResourcePackageName(res);
String type = resources.getResourceTypeName(res);
String name = resources.getResourceEntryName(res);
System.out.println("resPkg="+resPkg+",type="+type+",name="+name);
return makeResourceUri(appPkg, resPkg, type, name);
}
private static Uri makeResourceUri(String appPkg, String resPkg,
String type, String name) {
Uri.Builder uriBuilder = new Uri.Builder();
uriBuilder.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE);
uriBuilder.encodedAuthority(appPkg);
uriBuilder.appendEncodedPath(type);
if (!appPkg.equals(resPkg)) {
uriBuilder.appendEncodedPath(resPkg + ":" + name);
} else {
uriBuilder.appendEncodedPath(name);
}
return uriBuilder.build();
}
比如将R.drawable.icon的结果如:
02-28 01:44:46.089: INFO/System.out(282): resPkg=com.android.test,type=drawable,name=icon
02-28 01:44:46.099: INFO/System.out(282): Build uril=android.resource://com.android.test/drawable/icon
通过conterx和Resource Id我们可以获得resource的name和type
分享到:
相关推荐
`urllib.parse.urljoin()`则用于合并两个或多个URI片段,形成一个新的完整URI。 在压缩包文件“URI-main”中,可能包含了Quest框架的源代码、示例或者文档,用于展示如何在Python环境下使用Quest的URI功能。开发者...
在当今互联网时代,了解如何通过URL(Uniform Resource Locator,统一资源定位符)和URI(Uniform Resource Identifier,统一资源标识符)来获取网络上的数据至关重要。本指南旨在深入探讨URL和URI的基础知识及其在...
相对URI是相对于另一个已知URI的,解析时会结合基URI来形成完整的URI。 这个开源项目"URI Validation Expressions"提供了一种便捷的方式来确保输入的URI符合RFC 2396规定,避免因不合规的URI导致的问题,比如网络...
2. **相对URI与绝对URI**:相对URI是相对于另一个URI的,它们在解析时需要结合基URI(base URI)来形成完整的URI。错误处理相对URI可能导致链接失效。 3. **重定向问题**:服务器返回301、302等状态码进行重定向,...
- **Labeled URI Object Class**:定义了如何将Labeled URI Attribute Type与其他属性类型组合起来,形成一个完整的对象类别,以便于在X.500目录服务中进行组织和管理。 4. **示例**: - 示例1:`ftp://ds....
每个描述由一个或多个陈述组成,每个陈述包括属性URI、值URI(如果值是可标识的资源)、编码体系URI(用于定义值的类别)以及值的表述。属性URI标识属性,值URI标识属性的值,而编码体系URI则提供了值所属类别的上...
例如,`<http://www.example.org/index.html>`是Subject,`<http://purl.org/dc/elements/1.1/creator>`是Predicate,`<http://www.example.org/staffid/85740>`是Object,形成一个完整的三元组,表示某网页的创作者...
它由URI(Uniform Resource Identifier)发展而来,是URI的一个子集。URI是通用资源标志符,用于定位Web上的任何可用资源,包括HTML文档、图像、视频片段、程序等。URI由三部分组成:访问资源的命名机制、存放资源的...
这些三元组构建成一个图,其中每个节点和边都由合格的URI标记。资源可以有多个值对应同一属性,形成多对一的关系。 1.3 文字 RDF模型允许将文本片段作为目标,称为文字。这些文字可以通过附加片段标识符的方式,...
集合允许将多个资源组合在一起形成一个新的资源。集合本身也可以作为其他资源的一部分。 #### 三、RDF的抽象语法与具体语法 RDF的概念和抽象语法定义了一个基于RDF的基础抽象语法,它是连接RDF的具体语法和形式...
通过使用相同的URI引用同一资源,不同来源的数据可以相互关联,形成一个全球范围的知识图谱。Linked Data的核心原则包括发布RDF数据、使用URI标识资源、提供链接到其他相关资源的指引以及鼓励数据的重用。 另外,...
2. 宾语(Object):也可以是URI或者一个字面值(Literal),表示与主体相关的资源或信息。 3. 属性(Predicate):也是一个URI,表示主体和宾语之间的关系。 四元组在RDF数据模型中的引入是为了增加对数据来源的元...
该资源有一个 URI“example”和一个指向该 URI 的关系 (rel)“self”链接。 要扩展该链接,请调用: resource . getLink( HAL . SELF ) . title( " Link to self " ); 创建指向其他 URI 的链接 Resource res = .....
资源应该通过它们的表示彼此链接起来,形成一个连贯的整体。这种连通性确保了客户端能够根据当前状态动态地发现和使用资源。 #### 统一接口(Uniform Interface) 统一接口是ROA的核心特性之一,它确保了所有资源都...
1. 数据集成:语义网技术使得来自不同来源、格式各异的数据能够被整合在一起,形成一个全球性的知识库,如Linked Open Data云。 2. 智能搜索:通过理解搜索查询的语义,搜索引擎可以提供更为精确和相关的结果,提高...
【标题】: "Good权限管理系统" 是一个基于SpringBoot框架构建的轻量级权限管理解决方案。这个项目由一位开发者在学习SpringBoot的过程中创建,旨在提供一个简易但实用的权限控制平台,帮助用户实现对系统资源的精细...
DBPedia的创建目的是将维基百科中的结构化信息提取出来,形成一个全球性的、多语言的知识库。 DBPedia的核心在于它提取了维基百科中的模板和分类体系,将其转化为结构化的数据,这些数据以 RDF(Resource ...
这个项目的核心是通过关联数据(Linked Data)原则来实现,它允许数据在Web上以一种结构化的方式相互链接,形成一个庞大的全球信息网络。 关联数据的核心概念是URI(统一资源标识符),每个实体(如人、地点、事件...
假设我们要构建一个包含刘德华、他的女儿和妻子的RDF图,我们可以这样表示: 1. 主体:刘德华 (http://dbpedia.org/resource/Liu_Dehua) - 谓词:出生日期 (http://xmlns.com/foaf/0.1/birthDate) - 客体:1961年...
在提供的实例中,可以看到博客文章的URI、标题、主题、作者、创建日期等信息都被清晰地用RDF和DC元数据表示出来,形成了一个完整的描述。 RDF的广泛应用在于它为构建语义网奠定了基础。语义网是一种能够理解数据...