如何将android.net.Uri转换为java.net.URL?

22

有没有一种方法可以从Uri转换为URL? 我需要使用一个库,它仅接受URL,但我需要使用设备上的图像。


3
new URL(uri.toString()) 可以翻译为 使用uri的字符串表示创建一个新的URL对象 - Blackbelt
可以运行了...对不起,我从没想过会这样,我以为我必须进行方法转换。 - CaptainForge
2个回答

36

如果 Uri 的方案是 http 或者 https,那么 new URL(uri.toString()) 应该可以工作。

如果 Uri 的方案是 file,那也可能可以工作,但我会感到紧张。

如果 Uri 的方案是 ftp 或者 jar,那也可能可以工作,但我们会想知道为什么你有这些方案的 Uri

如果 Uri 的方案是其他任何东西,例如 content,那么这将无法工作,你需要找到一个更好的库。


7

试试这个

android.net.URI auri = new android.net.URI("your url goes here");
java.net.URI juri = new java.net.URI(auri.toString());

更多相关内容请参考:

Android Uri

Java URI


1
新的android.net.Uri是抽象类,使用android.net.Uri.parse("你的URL")。 - Bhavesh

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