He probado esta solución pero tengo un problema. Primero, Uri debe cambiarse a URI (si es del paquete java.net). Segundo, no tiene el constructor "parse". ¿Tienes alguna idea de lo que estoy haciendo mal?
@ccheneson ¿Por qué debería Uri ser más correcto que URI? Con URI puedes usar el createmétodo. Es tan simple de usar como Uri. Entonces, ¿qué beneficio tienes de Uri?
kaba713
Eso es correcto. Las importaciones incorrectas son uno de mis problemas molestos también.
Omid.N
34
Solo estoy usando el java.netpaquete . Aquí puedes hacer lo siguiente:
String myUrl ="http://stackoverflow.com";
URI myURI =new URI(myUrl);
Puede analizar una cadena a un Uri utilizando Uri.parse () como se muestra a continuación:
Uri myUri =Uri.parse("http://stackoverflow.com");
El siguiente es un ejemplo de cómo puede usar su Uri recién creado en una intención implícita. Para ser visto en un navegador en el teléfono del usuario.
// Creates a new Implicit Intent, passing in our Uri as the second paramater.Intent webIntent =newIntent(Intent.ACTION_VIEW, myUri);// Checks to see if there is an Activity capable of handling the intentif(webIntent.resolveActivity(getPackageManager())!=null){
startActivity(webIntent);}
NB: Hay una diferencia entre los androides URI y Uri .
Pero, por ejemplo android.widget.ImageView.setImageURI, no lo hará, por lo que es una pregunta perfectamente válida.
Martin
1
en realidad esto no responde la pregunta
Jürgen K.
-1
El analizador de Java java.net.URIfallará si el URI no está completamente codificado según sus estándares. Por ejemplo, trate de analizar: http://www.google.com/search?q=cat|dog. Se lanzará una excepción para la barra vertical.
urllib facilita la conversión de una cadena a a java.net.URI. Preprocesará y escapará de la URL.
Uri
clase con unparse
método developer.android.com/reference/android/net/Uri.html . También hay unaURI
clase developer.android.com/reference/java/net/URI.html sin unparse
método. Entonces, la clase correcta para usar esUri
. Asegúrate de tener la importación correctacreate
método. Es tan simple de usar como Uri. Entonces, ¿qué beneficio tienes de Uri?Solo estoy usando el
java.net
paquete . Aquí puedes hacer lo siguiente:fuente
Si está utilizando las extensiones de Android Kotlin y Kotlin, entonces hay una hermosa manera de hacerlo.
Para agregar extensiones de Kotlin ( KTX ) a su proyecto, agregue lo siguiente al build.gradle de su módulo de aplicación
fuente
Puede analizar una cadena a un Uri utilizando Uri.parse () como se muestra a continuación:
El siguiente es un ejemplo de cómo puede usar su Uri recién creado en una intención implícita. Para ser visto en un navegador en el teléfono del usuario.
NB: Hay una diferencia entre los androides URI y Uri .
fuente
¿Qué vas a hacer con el URI?
Si solo va a usarlo con un HttpGet, por ejemplo, puede usar la cadena directamente al crear la instancia de HttpGet.
fuente
android.widget.ImageView.setImageURI
, no lo hará, por lo que es una pregunta perfectamente válida.El analizador de Java
java.net.URI
fallará si el URI no está completamente codificado según sus estándares. Por ejemplo, trate de analizar:http://www.google.com/search?q=cat|dog
. Se lanzará una excepción para la barra vertical.urllib facilita la conversión de una cadena a a
java.net.URI
. Preprocesará y escapará de la URL.fuente