Я пробовал это решение, но у меня есть проблема с ним. Сначала нужно изменить Uri на URI (если он из пакета java.net). Во-вторых, у него нет конструктора "parse". Ты хоть представляешь, что я делаю не так?
@ccheneson Почему Uri должен быть более правильным, чем URI? С URI вы можете просто использовать createметод. Это так же просто, как использовать Uri. Так какая вы польза от Ури?
kaba713
Это верно. Неправильный импорт - одна из моих досадных проблем.
Omid.N
35
Я просто использую java.netпакет . Здесь вы можете сделать следующее:
String myUrl ="http://stackoverflow.com";
URI myURI =new URI(myUrl);
Вы можете проанализировать строку в Uri с помощью Uri.parse (), как показано ниже:
Uri myUri =Uri.parse("http://stackoverflow.com");
Ниже приведен пример того, как вы можете использовать вновь созданный Uri в неявном намерении. Для просмотра в браузере на телефоне пользователя.
// 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);}
Но, например android.widget.ImageView.setImageURI, не будет - так что это совершенно правильный вопрос.
Мартин
1
на самом деле это не отвечает на вопрос
Юрген К.
-1
Синтаксический анализатор Java java.net.URIможет потерпеть неудачу, если URI не полностью закодирован в соответствии со своими стандартами. Например, попробуйте разобрать:http://www.google.com/search?q=cat|dog . Исключение будет брошено для вертикальной черты.
urllib позволяет легко преобразовать строку в java.net.URI. Он будет предварительно обрабатывать и избегать URL.
Uri
класс сparse
методом developer.android.com/reference/android/net/Uri.html . Существует такжеURI
класс developer.android.com/reference/java/net/URI.html безparse
метода. Таким образом, правильный класс для использованияUri
. Убедитесь, что у вас есть правильный импортcreate
метод. Это так же просто, как использовать Uri. Так какая вы польза от Ури?Я просто использую
java.net
пакет . Здесь вы можете сделать следующее:источник
Если вы используете расширения Kotlin и Kotlin для Android, то есть прекрасный способ сделать это.
Чтобы добавить расширения Kotlin ( KTX ) в свой проект, добавьте следующее в build.gradle модуля приложения.
источник
Вы можете проанализировать строку в Uri с помощью Uri.parse (), как показано ниже:
Ниже приведен пример того, как вы можете использовать вновь созданный Uri в неявном намерении. Для просмотра в браузере на телефоне пользователя.
NB. Существует различие между URI Android и Uri .
источник
Что вы собираетесь делать с URI?
Если вы просто собираетесь использовать его с HttpGet, например, вы можете просто использовать строку непосредственно при создании экземпляра HttpGet.
источник
android.widget.ImageView.setImageURI
, не будет - так что это совершенно правильный вопрос.Синтаксический анализатор Java
java.net.URI
может потерпеть неудачу, если URI не полностью закодирован в соответствии со своими стандартами. Например, попробуйте разобрать:http://www.google.com/search?q=cat|dog
. Исключение будет брошено для вертикальной черты.urllib позволяет легко преобразовать строку в
java.net.URI
. Он будет предварительно обрабатывать и избегать URL.источник