`
hesihua
  • 浏览: 233674 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

URI

 
阅读更多

Keywords: content provider, URI 
Content Provider这个东西在Android平台上是最常用的共享数据的方法(似乎应用程序之间共享数据也只有这种方法吧,待求证)。虽然常用,但是这个东 西要理解透彻还是要先掌握一些基础的。URI就是Content Provider(简称CP)的基础。我们要标识一个CP,就必须用URI这个东东。这就类似于我们要通过网址来标识某个特定网站,实际上网址URL本身 就是一种URI。URI全称Uniform Resource Identifier, 它包括了URL和URN。而关于它们的详细解释,有心的朋友可以参考RFC3896:http://tools.ietf.org/html /rfc3986。URI不仅可以标识特定CP,还可以标识CP中特定的数据库表,就好像URL不仅可以标识特定网站,也可以标识这个网站某个特定网页一 样。实际上在Android平台上URI的用途更广泛一些,它还用于Intent中data的标识。 
就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下: 
scheme://host:port/path 
举个实际的例子: 
content://com.example.project:200/folder/subfolder/etc 
/---------/  /---------------------------/ /---/ /--------------------------/ 
scheme                 host               port        path 
                /--------------------------------/ 
                          authority    

现在大家应该知道data flag中那些属性的含义了吧,看下data flag 
<data android:host="string" 
      android:mimeType="string" 
      android:path="string" 
      android:pathPattern="string" 
      android:pathPrefix="string" 
      android:port="string" 
      android:scheme="string" /> 
但是我们在程序中一般是不直接用URI来标识CP的,是的,正如我们通常见到的用定义的常量来标识。例如standard CP中的Contacts,我们就用Contacts.People.CONTENT_URI来标识Contacts CP中People这个表。那么要标识某个具体的人怎么办呢? 这就用到了ContentUris.withAppendedId() 和 Uri.withAppendedPath()。例如我们要表示content://contacts/people/20,那么我们就可以用如下语句: 
Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, 20); 或者 
Uri uri = Uri.withAppendedPath(People.CONTENT_URI, "20"); 

好了现在我们应该理解URI是怎么回事了,后续我再写CP其它方面的基础。

上面的文章摘抄自http://blog.csdn.net/zhanghw0917/article/details/5648198

分享到:
评论

相关推荐

    androdi ContentProvider和Uri详解

    在Android开发中,ContentProvider和Uri是两个至关重要的概念,它们是Android系统中不同应用程序间数据共享和交互的基础。本文将深入探讨这两个组件的工作原理、使用方法以及它们在实际开发中的应用。 首先,我们来...

    查看android.provider包中的uri内容

    在Android中,管理联系人数据主要通过`ContactsContract`类,它提供了许多预定义的`URI`,比如获取所有联系人的URI、获取某个联系人的URI、获取联系人详情的URI等等。开发者可以使用这些`URI`结合`ContentResolver`...

    android 根据uri获取真实路径

    ### Android根据URI获取真实路径详解 #### 概述 在Android开发过程中,处理文件路径时经常需要将一个`Uri`转换成真实的文件路径。尤其是在处理用户通过文件选择器选取的图片或文件时,通常会得到一个`Uri`,而这个...

    WPF之Uri加载图片

    在WPF(Windows Presentation Foundation)中,统一资源标识符(URI, Unified Resource Identifier)是一种标准机制,用于定位和访问各种类型的资源,包括图像。本文将详细介绍如何使用URI加载图像资源,以及通过...

    Uri一个URI处理库

    - **规范化和比较URI**:Uri库支持URI的规范化,确保相同含义的URI以相同的格式表示,同时提供了比较URI的功能,判断两个URI是否指向同一资源。 - **安全操作**:Uri库遵循RFC3986标准,对URI进行编码和解码,防止...

    A_APP通过Uri调用B_APP(Uri含两个应用包)demo最新版

    这种场景下,通常我们不希望通过集成SDK来实现,而是利用Android的Uri调用机制,使得两个应用之间可以无侵入地进行通信。下面我们将详细探讨如何在Android上实现"A_APP通过Uri调用B_APP"的流程,以及如何处理包含两...

    URI:Escape模块,awstats搜索的关键字的乱码问题解决

    下载附件URI-1.58.tar.gz即URI:Escape模块,安装, 解压缩文件 tar zxvf URI-1.58.tar.gz 进入解压缩后目录 cd URI-1.58 然后 perl Makefile.PL make make install 安装后 运行正常了 转载请注明来源:...

    URI,URL常识

    ### URI与URL的基础概念 #### 一、URI(Uniform Resource Identifier):统一资源标识符 在互联网技术领域中,URI是用于唯一标识一个资源的一种标准形式。它是一种抽象的概念,用以指代任何类型的资源,无论是实体...

    浅析什么是URI

    ### 浅析什么是URI #### 一、URI的定义与作用 **URI**(Universal Resource Identifier,通用资源标识符)是一种用于唯一标识互联网上资源的标准方法。它为资源提供了一个可定位、可命名的引用方式,是现代互联网...

    博客《Uri详解之——Uri结构与代码提取》对应源码

    这个博客《Uri详解之——Uri结构与代码提取》的源码提供了深入理解Uri类的实例和实践,有助于开发者更好地理解和操作Uri。下面将详细探讨Uri的相关知识点。 1. **Uri基本概念**: Uri,全称Uniform Resource ...

    .net 图片base64编码 Data URI scheme

    Data URI Scheme是一种URI(统一资源标识符)方案,它允许在单个URI中包含资源的数据,而不是提供指向资源的地址。其基本格式如下: ```text data:[][;base64], ``` 其中,`&lt;mediatype&gt;`是资源的MIME类型,例如`...

    Android如何通过URI获取文件路径示例代码

    最近在工作的过程中,遇到不同 Android 版本下 URI 采用不同方式来获取文件路径的问题。 因为需求的原因,要求拍照上传或者从相册中选择图片上传,而且图片是需要经过压缩的,大小不能超过2M。 很快,拍照的这部分...

    Android开发 8.0及以上调用相机/相册,并根据Uri获取图像绝对路径,并进行文件上传

    首先创建一个文件,用于保存拍照图像,然后根据不同系统版本获取Uri,传递给Intent,然后调起相机(可以考虑将outputImage、imageUri设置为全局变量)。 3、处理回调 使用BitmapFactory读取imageUri,得到bitmap,...

    uriparser-0.7.7.zip

    `uriparser` 是一个开源的URI(统一资源标识符)解析库,广泛应用于软件开发,尤其是网络爬虫开发中。它提供了强大的功能,帮助开发者有效地解析、验证和操作URLs,确保对URL的处理符合RFC3986标准。在`uriparser-...

    探究dataURI中使用SVG正确姿势

    本文将深入探讨如何在dataURI中正确使用SVG,以实现高效、灵活的Web图形展示。 首先,了解dataURI的基本原理。dataURI是一种URL scheme,它允许在单一的URL内直接包含文件内容。其基本格式如下: ``` data:[][;...

    Android中Bitmap、File与Uri之间的简单记录

    感觉Uri 、File、bitmap 比较混乱,这里进行记载,方便以后查看.下面话不多说了,来一起看看详细的介绍吧 Bitmap、File与Uri 1、将一个文件路径path转换成File String path ; File file = new File&#40;path&#41; 2...

    Android中Intent的Uri使用

    ### Android中Intent的Uri使用详解 #### 概述 在Android开发中,`Intent`是进行组件间通信的重要工具之一,它可以启动一个Activity、BroadcastReceiver或Service,也可以用来向服务发送数据请求。其中,`Intent`的...

Global site tag (gtag.js) - Google Analytics