Ich habe diese Lösung ausprobiert, aber ich habe ein Problem damit. Zuerst muss Uri in URI geändert werden (wenn es aus dem java.net-Paket stammt). Zweitens hat es nicht den "parse" -Konstruktor. Hast du eine Idee, was ich falsch mache?
@ccheneson Warum sollte Uri korrekter sein als URI? Mit URI können Sie einfach die createMethode verwenden. Es ist so einfach zu bedienen wie Uri. Welchen Nutzen haben Sie von Uri?
Kaba713
Das ist richtig. Falsche Importe sind auch eines meiner nervigen Probleme.
Omid.N
34
Ich benutze nur das java.netPaket . Hier können Sie Folgendes tun:
String myUrl ="http://stackoverflow.com";
URI myURI =new URI(myUrl);
Das folgende Beispiel zeigt, wie Sie Ihren neu erstellten Uri implizit verwenden können. Wird in einem Browser auf dem Telefon des Benutzers angezeigt.
// 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: Es gibt einen Unterschied zwischen Androids URI und Uri .
Aber zum Beispiel android.widget.ImageView.setImageURInicht - es ist also eine absolut gültige Frage.
Martin
1
Eigentlich beantwortet dies nicht die Frage
Jürgen K.
-1
Javas Parser-In java.net.URIschlägt fehl, wenn der URI nicht vollständig seinen Standards entspricht. Versuchen Sie beispielsweise zu analysieren : http://www.google.com/search?q=cat|dog. Für die vertikale Leiste wird eine Ausnahme ausgelöst.
urllib macht es einfach, einen String in einen zu konvertieren java.net.URI. Die URL wird vorverarbeitet und maskiert.
Uri
Klasse mit derparse
Methode developer.android.com/reference/android/net/Uri.html . Es gibt auch eineURI
Klasse developer.android.com/reference/java/net/URI.html ohneparse
Methode. Die richtige Klasse ist alsoUri
.create
Methode verwenden. Es ist so einfach zu bedienen wie Uri. Welchen Nutzen haben Sie von Uri?Ich benutze nur das
java.net
Paket . Hier können Sie Folgendes tun:quelle
Wenn Sie Kotlin und Kotlin Android-Erweiterungen verwenden, gibt es eine schöne Möglichkeit, dies zu tun.
Um Kotlin-Erweiterungen ( KTX ) zu Ihrem Projekt hinzuzufügen, fügen Sie dem build.gradle Ihres App-Moduls Folgendes hinzu
quelle
Sie können einen String mit Uri.parse () wie unten gezeigt in einen Uri analysieren :
Das folgende Beispiel zeigt, wie Sie Ihren neu erstellten Uri implizit verwenden können. Wird in einem Browser auf dem Telefon des Benutzers angezeigt.
NB: Es gibt einen Unterschied zwischen Androids URI und Uri .
quelle
Was machst du mit der URI?
Wenn Sie es beispielsweise nur mit einem HttpGet verwenden möchten, können Sie die Zeichenfolge direkt beim Erstellen der HttpGet-Instanz verwenden.
quelle
android.widget.ImageView.setImageURI
nicht - es ist also eine absolut gültige Frage.Javas Parser-In
java.net.URI
schlägt fehl, wenn der URI nicht vollständig seinen Standards entspricht. Versuchen Sie beispielsweise zu analysieren :http://www.google.com/search?q=cat|dog
. Für die vertikale Leiste wird eine Ausnahme ausgelöst.urllib macht es einfach, einen String in einen zu konvertieren
java.net.URI
. Die URL wird vorverarbeitet und maskiert.quelle