回答
您可以使用从Uri
Uri myUri = Uri.parse("http://stackoverflow.com")
你打算用URI做parse
静态方法?
如果您打算将它与HttpGet一起使用,则可以直接在创建HttpGet实例时使用该字符串。
HttpGet get = new HttpGet("http://stackoverflow.com");
但是例如'android.widget.ImageView.setImageURI'不会 - 所以这是一个完全有效的问题。 – Martin 2011-04-27 14:55:02
其实这并不能回答这个问题 – 2015-09-22 14:47:39
我只是用java.net
包。 在这里,你可以做到以下几点:
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
您可以通过使用Uri.parse()解析字符串到URI,如下图所示:
Uri myUri = Uri.parse("http://stackoverflow.com");
以下是你如何用一个例子你新创建的Uri在一个隐含的意图。要在用户手机上的浏览器中查看。
// Creates a new Implicit Intent, passing in our Uri as the second paramater.
Intent webIntent = new Intent(Intent.ACTION_VIEW, myUri);
// Checks to see if there is an Activity capable of handling the intent
if (webIntent.resolveActivity(getPackageManager()) != null){
startActivity(webIntent);
}
如果URI未完全编码为其标准,则java.net.URI
中的Java解析器将失败。例如,尝试解析:http://www.google.com/search?q=cat|dog
。竖条会引发异常。
urllib可以很容易地将字符串转换为java.net.URI
。它会预处理和转义URL。
assertEquals("http://www.google.com/search?q=cat%7Cdog",
Urls.createURI("http://www.google.com/search?q=cat|dog").toString());
如果您正在使用科特林和科特林Android的扩展,再有就是这样的一个美丽的方式。
val uri = myUriString.toUri()
要科特林扩展(KTX)添加到您的项目中添加以下到您的应用程序模块的build.gradle
repositories {
google()
}
dependencies {
implementation 'androidx.core:core-ktx:0.1'
}
- 1. 将Uri转换为字符串和字符串到Uri
- 2. URI转换为字符串
- 3. 将字符串转换为URI
- 4. 将字符串转换为Uri字符串
- 5. URI转换为字符串在C#中
- 6. 将字符串转换为字符串
- 7. 将字符串转换为字符串
- 8. 将字符串转换为字符串
- 9. 将字节[]转换为数据URI的Base64字符串
- 10. 将字符串转换为int,int转换为字符串
- 11. 将字符串转换为“_”
- 12. 将字符串转换为
- 13. 将字符串转换为?
- 14. 如何将字符串转换为URI组件?
- 15. 将字符串转换为uri以位图显示在ImageView中
- 16. 如何将ArrayList <Uri>转换为字符串?
- 17. 将字符串转换为资源Uri进行MP3播放
- 18. Java - 将字符串转换为有效的URI对象
- 19. 将字符串强制转换为sparql URI
- 20. 将音频数据uri字符串转换为文件
- 21. 如何将字符串转换为xaml中的Uri?
- 22. 如何将字符串转换为Uri类型(简单)
- 23. 将转换器映射字符串转换为字符串
- 24. 将字符串转换为字符ascii
- 25. Java - 将字符串转换为字符[]
- 26. C++ - 将字符串转换为字符
- 27. 将字符*转换为字符串
- 28. 将字符串转换为字符
- 29. 将字符串转换为const *字符
- 30. 将字符[]转换为字符串
我已经试过这个解决方案,但我有一个问题吧。第一个Uri需要更改为URI(如果它来自java.net包)。其次,它没有“解析”构造函数。你有什么想法我做错了吗? – 2015-09-22 14:53:22
http://developer.android.com/reference/android/net/Uri.html有一个带'parse'方法的'Uri'类。还有一个没有'parse'方法的'URI'类http://developer.android.com/reference/java/net/URI.html。所以正确的课程是'Uri'。确保你有正确的导入 – ccheneson 2015-09-22 15:06:42
@ccheneson为什么应该更正确的URI呢?使用URI,你可以使用'create'方法。它和Uri一样简单。那么你从Uri那里得到什么好处? – kaba713 2017-05-23 15:22:58