使用Uri.parse将字符串转换为android.net.Uri是否有效?

3
我有一个字符串形式的URI,需要正确获取其路径。由于我有一个函数可以从android.net.Uri对象中正确删除查询参数,所以我想将我的字符串路径转换为URI。
Uri.parse是将字符串转换为URI的有效方法吗?我看了一些例子,但没有一个真正解释这是否是有效的方法,或者是否需要进行任何其他解析。
我已经查看了此链接如何将字符串转换为android.net.Uri,但它并没有真正回答我的问题。
感谢任何建议!

你的意思是 方法,而不是函数。 - Alex Lockwood
1个回答

4
是的,您需要使用Uri.parse(String)。例如,
Uri uri = Uri.parse("content://com.example.provider.NotePad/notes/10");

要获取最后一个片段,您需要使用:
// id == "10"
String id = uri.getLastPathSegment();

要获取倒数第二个段落,您需要使用:
// notes == "notes"
String notes = uri.getPathSegments().get(0); 

我猜这是一个愚蠢的问题,但这也可以很好地处理HTTP请求吗? - mna
也许我混淆了术语。我是新手。 我有一个字符串(如果我将引号内的内容复制并粘贴到浏览器中,它将下载一个文件。所以这个字符串是“http://..blah..”,这就是我所说的http请求)。我想通过将其转换为Uri来删除其查询参数。根据我所读和您的评论,似乎Uri.parse会起作用,但我不确定。这是否澄清了我的原始问题?我的另一个问题是我不理解Url和Uri之间的区别。维基对我来说没有意义:(非常感谢您的帮助! - mna
@user813375,URL 是 URI 的一种,但 URI 不一定是 URL。URL 是 URI 的一种特殊形式,它定义了给定资源的网络位置的特定表示形式。URI 通过位置或名称标识资源。因此基本上答案是“是”,您可以在 URL 的字符串表示形式上使用 Uri.parse(但不能反过来)。 - Alex Lockwood
@user813375,所有的 URL 都是 URI 的子集。 - Alex Lockwood
没问题!如果您觉得有帮助,请记得接受 :) http://i.stack.imgur.com/uqJeW.png 如果您有其他问题,请告诉我。 - Alex Lockwood
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接