如何将字符串转换为Java (Android)的Uri ?例如:
String myUrl = "http://stackoverflow.com";
myUri = ??;
如何将字符串转换为Java (Android)的Uri ?例如:
String myUrl = "http://stackoverflow.com";
myUri = ??;
当前回答
我只是使用java.net包。 在这里你可以做以下事情:
...
import java.net.URI;
...
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
其他回答
可以使用Uri中的解析静态方法
//...
import android.net.Uri;
//...
Uri myUri = Uri.parse("http://stackoverflow.com")
你要对URI做什么?
例如,如果你只是将它与HttpGet一起使用,你可以在创建HttpGet实例时直接使用字符串。
HttpGet get = new HttpGet("http://stackoverflow.com");
我只是使用java.net包。 在这里你可以做以下事情:
...
import java.net.URI;
...
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
你可以使用Uri.parse()将一个String解析为一个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);
}
注意:android的URI和URI是有区别的。
你也可以这样做
对于http
var response = await http.get(Uri.http("192.168.100.91", "/api/fetch.php"));
or
为https
var response = await http.get(Uri.https("192.168.100.91", "/api/fetch.php"));