java tag Converter String para Uri




java regex tag xml (5)

O que você vai fazer com o URI?

Se você for usá-lo apenas com um HttpGet, por exemplo, você pode usar a string diretamente ao criar a instância do HttpGet.

HttpGet get = new HttpGet("http://stackoverflow.com");

Como posso converter uma String para um Uri em Java (Android)? ie:

String myUrl = "http://stackoverflow.com";

myUri = ???;


O analisador do Java em java.net.URI falhará se o URI não estiver totalmente codificado para seus padrões. Por exemplo, tente analisar: http://www.google.com/search?q=cat|dog . Uma exceção será lançada para a barra vertical.

urllib facilita a conversão de uma string para um java.net.URI . Ele pré-processará e escapará da URL.

assertEquals("http://www.google.com/search?q=cat%7Cdog",
    Urls.createURI("http://www.google.com/search?q=cat|dog").toString());

Eu estou apenas usando o pacote java.net . Aqui você pode fazer o seguinte:

String myUrl = "http://.com";
URI myURI = new URI(myUrl);

Se você estiver usando as extensões android Kotlin e Kotlin, então há uma maneira bonita de fazer isso.

val uri = myUriString.toUri()

Para adicionar extensões Kotlin ( KTX ) ao seu projeto, adicione o seguinte ao build.gradle do seu módulo de aplicativo.

  repositories {
    google()
}

dependencies {
    implementation 'androidx.core:core-ktx:1.0.0-rc01'
}

Você pode analisar uma String para um Uri usando Uri.parse() como mostrado abaixo:

Uri myUri = Uri.parse("http://.com");

A seguir, um exemplo de como você pode usar seu Uri recém-criado em uma intenção implícita. Para ser visto em um navegador no telefone do usuário.

// 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: Há uma diferença entre o URI Android e o Uri .





uri