J'ai essayé cette solution mais j'ai un problème avec elle. Le premier Uri doit être changé en URI (s'il provient du package java.net). Deuxièmement, il n'a pas le constructeur "parse". Avez-vous une idée de ce que je fais mal?
@ccheneson Pourquoi Uri devrait-il être plus correct que URI? Avec URI, vous pouvez simplement utiliser la createméthode. C'est aussi simple à utiliser que Uri. Alors, quel avantage tirez-vous d'Uri?
kaba713
C'est vrai. Les mauvaises importations sont également l'un de mes problèmes ennuyeux.
Omid.N
34
J'utilise juste le java.netpackage . Ici, vous pouvez effectuer les opérations suivantes:
String myUrl ="http://stackoverflow.com";
URI myURI =new URI(myUrl);
Vous pouvez analyser une chaîne en un Uri en utilisant Uri.parse () comme indiqué ci-dessous:
Uri myUri =Uri.parse("http://stackoverflow.com");
Voici un exemple de la façon dont vous pouvez utiliser votre Uri nouvellement créé dans un intent implicite. À afficher dans un navigateur sur le téléphone des utilisateurs.
// 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: Il y a une différence entre androïdes URI et Uri .
Si vous allez simplement l'utiliser avec un HttpGet par exemple, vous pouvez simplement utiliser la chaîne directement lors de la création de l'instance HttpGet.
HttpGet get =newHttpGet("http://stackoverflow.com");
Mais par exemple, android.widget.ImageView.setImageURIce ne sera pas le cas - c'est donc une question parfaitement valable.
Martin
1
en fait cela ne répond pas à la question
Jürgen K.
-1
L'analyseur de Java java.net.URIéchouera si l'URI n'est pas entièrement codé selon ses normes. Par exemple, essayez d'analyser: http://www.google.com/search?q=cat|dog. Une exception sera lancée pour la barre verticale.
urllib facilite la conversion d'une chaîne en un fichier java.net.URI. Il prétraitera et échappera à l'URL.
Uri
classe avec uneparse
méthode developer.android.com/reference/android/net/Uri.html . Il existe également uneURI
classe developer.android.com/reference/java/net/URI.html sansparse
méthode. La bonne classe à utiliser est doncUri
. Assurez-vous d'avoir la bonne importationcreate
méthode. C'est aussi simple à utiliser que Uri. Alors, quel avantage tirez-vous d'Uri?J'utilise juste le
java.net
package . Ici, vous pouvez effectuer les opérations suivantes:la source
Si vous utilisez les extensions Android Kotlin et Kotlin, il existe une belle façon de le faire.
Pour ajouter des extensions Kotlin ( KTX ) à votre projet, ajoutez ce qui suit au build.gradle de votre module d'application
la source
Vous pouvez analyser une chaîne en un Uri en utilisant Uri.parse () comme indiqué ci-dessous:
Voici un exemple de la façon dont vous pouvez utiliser votre Uri nouvellement créé dans un intent implicite. À afficher dans un navigateur sur le téléphone des utilisateurs.
NB: Il y a une différence entre androïdes URI et Uri .
la source
Qu'allez-vous faire avec l'URI?
Si vous allez simplement l'utiliser avec un HttpGet par exemple, vous pouvez simplement utiliser la chaîne directement lors de la création de l'instance HttpGet.
la source
android.widget.ImageView.setImageURI
ce ne sera pas le cas - c'est donc une question parfaitement valable.L'analyseur de Java
java.net.URI
échouera si l'URI n'est pas entièrement codé selon ses normes. Par exemple, essayez d'analyser:http://www.google.com/search?q=cat|dog
. Une exception sera lancée pour la barre verticale.urllib facilite la conversion d'une chaîne en un fichier
java.net.URI
. Il prétraitera et échappera à l'URL.la source