📜  来自位图 java android 的 Uri (1)

📅  最后修改于: 2023-12-03 15:40:21.231000             🧑  作者: Mango

Uri 类型介绍

Uri 就是 Uniform Resource Identifier(统一资源标识符)的缩写,是类似于URL的字符串标识符,用于标记、定位和操作网络上的资源,或本地文件。在Java和Android中,Uri也是一个重要的数据类型,用于处理各种数据源或uri。

Uri 类型

在Java和Android中,Uri有几种类型,可以根据需要选择使用不同类型的Uri:

  • android.net.Uri: Android系统提供的Uri类型,用于处理Android平台内的uri,如:content://、file://等格式的uri。
  • java.net.URI: Java中提供的Uri类型,用于处理网络上的URI,如:http://、ftp://等格式的uri。
  • java.io.File: Java中也提供了一个“文件对应的URI”类型,即java.io.File类型,可以用于表示文件的URI地址。
Uri 的作用

Uri 作为一种“地址”,其主要作用如下:

  1. 定位和访问数据:Uri可以帮助我们定位到数据的位置,或者访问评级的数据源,包括文件、数据库、Web服务等。
  2. 发送和分享数据:Android中的Intent可以通过Uri的方式分享数据,比如打开某一个应用程序,进入应用程序的某一个页面、分享文件等。
  3. 表示路径与参数:Uri 除了表示地址以外,也可以表示路径与参数,比如 GET 方式下的url,通过包含参数的方式传递数据。
  4. 安全验证:Uri 同样可以用于安全验证,比如 OAuth2 的验证流程中所使用的的redirect_uri,它的作用就是为了防止授权的Code泄露,确保授权流程的安全性。
Uri 类型的创建和转换

对于不同类型的Uri,我们可以通过如下方式进行创建和转换:

// 创建android.net.Uri对象
Uri androidUri = Uri.parse("http://www.example.com");

// android.net.Uri转为java.net.URI
URI javaUri = new URI(androidUri.toString());

// android.net.Uri转为java.io.File
File file = new File(androidUri.getPath());

// java.net.URI转为android.net.Uri
Uri androidUri = Uri.parse(javaUri.toString());

// java.io.File转为android.net.Uri
Uri androidUri = Uri.fromFile(file);

以上是 Uri 类型介绍,通过 Uri,我们可以方便地进行数据的定位、操作和传递。在实际开发中,我们也经常会用到 Uri 类型,通过对Uri的深入理解,可以更好地使用 Uri 来实现我们的程序设计。