将字符串转换为 Uri
如何在 Java (Android) 中将字符串转换为 Uri?即:
String myUrl = "http://stackoverflow.com";
myUri = ???;
How can I convert a String to a Uri in Java (Android)? i.e.:
String myUrl = "http://stackoverflow.com";
myUri = ???;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
您可以使用
Uri
中的parse
静态方法You can use the
parse
static method fromUri
我只是使用
java.net
包。在这里您可以执行以下操作:
I am just using the
java.net
package.Here you can do the following:
如果您使用 Kotlin 和 Kotlin android 扩展,那么有一种很好的方法可以做到这一点。
要将 Kotlin 扩展 (KTX) 添加到您的项目,请将以下内容添加到应用模块的 build.gradle 中
If you are using Kotlin and Kotlin android extensions, then there is a beautiful way of doing this.
To add Kotlin extensions (KTX) to your project add the following to your app module's build.gradle
以下也适用于我:
或
Below also works for me :
OR
您可以使用 Uri.parse() 如下所示:
以下是如何在隐式意图中使用新创建的 Uri 的示例。在用户手机上的浏览器中查看。
注意: Android 之间存在差异 URI 和 Uri。
You can parse a String to a Uri by using Uri.parse() as shown below:
The following is an example of how you can use your newly created Uri in an implicit intent. To be viewed in a browser on the users phone.
NB: There is a difference between Androids URI and Uri.
如果 URI 未完全按照其标准进行编码,
java.net.URI
中的 Java 解析器将会失败。例如,尝试解析:http://www.google.com/search?q=cat|dog
。垂直条将会抛出异常。urllib 可以轻松地将字符串转换为
java.net.URI
。它将预处理并转义 URL。Java's parser in
java.net.URI
is going to fail if the URI isn't fully encoded to its standards. For example, try to parse:http://www.google.com/search?q=cat|dog
. An exception will be thrown for the vertical bar.urllib makes it easy to convert a string to a
java.net.URI
. It will pre-process and escape the URL.您也可以
对 http
或
https执行此操作
you can do this too
for http
or
for https
您打算如何处理 URI?
例如,如果您只想将其与 HttpGet 一起使用,则可以在创建 HttpGet 实例时直接使用该字符串。
What are you going to do with the URI?
If you're just going to use it with an HttpGet for example, you can just use the string directly when creating the HttpGet instance.