Wypróbowałem to rozwiązanie, ale mam z nim problem. Pierwszy Uri należy zmienić na URI (jeśli pochodzi z pakietu java.net). Po drugie, nie ma konstruktora „parse”. Czy masz pojęcie, co robię źle?
@ccheneson Dlaczego identyfikator Uri powinien być poprawniejszy niż identyfikator URI? Dzięki URI możesz po prostu użyć createmetody. Jest tak prosty w użyciu jak Uri. Więc jakie masz korzyści z Uri?
kaba713
Tak jest. Niewłaściwy import to także jeden z moich irytujących problemów.
Omid.N
34
Właśnie korzystam z java.netpakietu . Tutaj możesz wykonać następujące czynności:
String myUrl ="http://stackoverflow.com";
URI myURI =new URI(myUrl);
Możesz przeanalizować String do Uri za pomocą Uri.parse (), jak pokazano poniżej:
Uri myUri =Uri.parse("http://stackoverflow.com");
Poniżej znajduje się przykład użycia nowo utworzonego identyfikatora Uri w niejawnej intencji. Do przeglądania w przeglądarce na telefonie użytkownika.
// 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);}
Ale na przykład android.widget.ImageView.setImageURInie - więc jest to całkowicie uzasadnione pytanie.
Martin
1
właściwie to nie odpowiada na pytanie
Jürgen K.
-1
Parser Javy java.net.URIzawiedzie, jeśli identyfikator URI nie zostanie w pełni zakodowany zgodnie ze swoimi standardami. Na przykład, spróbuj przeanalizować: http://www.google.com/search?q=cat|dog. Dla pionowego paska zostanie zgłoszony wyjątek.
urllib ułatwia konwersję ciągu znaków na plik java.net.URI. Będzie wstępnie przetwarzać i usuwać adres URL.
Uri
klasa zparse
metodą developer.android.com/reference/android/net/Uri.html . Istnieje równieżURI
klasa developer.android.com/reference/java/net/URI.html bezparse
metody. Więc właściwą klasą jestUri
. Upewnij się, że masz poprawny importcreate
metody. Jest tak prosty w użyciu jak Uri. Więc jakie masz korzyści z Uri?Właśnie korzystam z
java.net
pakietu . Tutaj możesz wykonać następujące czynności:źródło
Jeśli używasz rozszerzeń Kotlin i Kotlin dla Androida, istnieje piękny sposób na zrobienie tego.
Aby dodać rozszerzenia Kotlin ( KTX ) do projektu, dodaj następujące elementy do pliku build.gradle modułu aplikacji
źródło
Możesz przeanalizować String do Uri za pomocą Uri.parse (), jak pokazano poniżej:
Poniżej znajduje się przykład użycia nowo utworzonego identyfikatora Uri w niejawnej intencji. Do przeglądania w przeglądarce na telefonie użytkownika.
Uwaga: istnieje różnica między identyfikatorami URI i Uri systemu Android .
źródło
Co zamierzasz zrobić z identyfikatorem URI?
Jeśli zamierzasz używać go na przykład z HttpGet, możesz po prostu użyć ciągu bezpośrednio podczas tworzenia wystąpienia HttpGet.
źródło
android.widget.ImageView.setImageURI
nie - więc jest to całkowicie uzasadnione pytanie.Parser Javy
java.net.URI
zawiedzie, jeśli identyfikator URI nie zostanie w pełni zakodowany zgodnie ze swoimi standardami. Na przykład, spróbuj przeanalizować:http://www.google.com/search?q=cat|dog
. Dla pionowego paska zostanie zgłoszony wyjątek.urllib ułatwia konwersję ciągu znaków na plik
java.net.URI
. Będzie wstępnie przetwarzać i usuwać adres URL.źródło