URL Parsing. The URL parsing functions focus on splitting a URL string into its components, or on combining URL components into a URL string.
Serializable. kotlin.Any. ↳ java.net.URI. Represents a Uniform Resource Identifier (URI) reference.
You can use the parse
static method from Uri
//...
import android.net.Uri;
//...
Uri myUri = Uri.parse("http://stackoverflow.com")
I am just using the java.net
package.
Here you can do the following:
...
import java.net.URI;
...
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
If you are using Kotlin and Kotlin android extensions, then there is a beautiful way of doing this.
val uri = myUriString.toUri()
To add Kotlin extensions (KTX) to your project add the following to your app module's build.gradle
repositories {
google()
}
dependencies {
implementation 'androidx.core:core-ktx:1.0.0-rc01'
}
You can parse a String to a Uri by using Uri.parse() as shown below:
Uri myUri = Uri.parse("http://stackoverflow.com");
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.
// 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);
}
NB: There is a difference between Androids URI and Uri.
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.
assertEquals("http://www.google.com/search?q=cat%7Cdog",
Urls.createURI("http://www.google.com/search?q=cat|dog").toString());
you can do this too
for http
var response = await http.get(Uri.http("192.168.100.91", "/api/fetch.php"));
or
for https
var response = await http.get(Uri.https("192.168.100.91", "/api/fetch.php"));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With