Intereting Posts
Android – тень на текст? Студия Android: предупреждение, когда я пытаюсь переместить класс в другой пакет Отправить JSON в качестве запроса POST на сервер AsyncHttpClient Создайте NinePatch / NinePatchDrawable во время выполнения Виджет minHeight = "72dp" дает 2 строки высоты Понимание архитектуры Android-контактов Android AppStateManager :: Внутренняя утечка данных в обнаруженном объекте DataBuffer Вызов метода активности изнутри фрагмента Как увеличить размер шрифта в тосте? Есть ли обратный вызов, когда RecyclerView закончил показ своих элементов после того, как я установил его с помощью адаптера? Как установить минимальные и максимальные даты в Android DatePicker? Использовать токен обновления, если токен аутентификации истек в учетной записи аутентификации Пользовательская информация с картами google api v2 Как обновить просмотр Youtube Player в onItemClickListener () в ListView Отправить вывод Logcat приложения в адрес электронной почты

Конвертировать java.net.URI в android.net.Uri

Я могу найти, как конвертировать android.net.Uri в Java.net.URI здесь, но не наоборот.

Поэтому, потратив некоторое время, я понял это. Вот решение (если есть другое решение, то, пожалуйста, опубликуйте это также)

Сначала преобразуйте javaURI в строку, а затем используйте функцию parse android.net.Uri

android.net.URI androidUri = android.net.Uri.parse(javaURI.toString()); 

Solutions Collecting From Web of "Конвертировать java.net.URI в android.net.Uri"

http://developer.android.com/reference/android/net/Uri.html#parse(java.lang.String)

 public static Uri parse (String uriString) 

Создает Uri, который анализирует данную кодированную строку URI.

параметры
UriString: совместимый с RFC 2396, кодированный URI

Возвращает
Uri для этой заданной строки uri

Броски
NullPointerException, если uriString имеет значение null


Поэтому, вот пример:

 android.net.Uri.parse(new java.net.URI("").toString()); 

Идет, не говоря, использование реального java.net.URI в нем … 😉

Для всех, кто сталкивался с этим, у меня был успех со следующим кодом:

 URI oldUri; Uri newUri = new Uri.Builder().scheme(oldUri.getScheme()) .encodedAuthority(oldUri.getRawAuthority()) .encodedPath(oldUri.getRawPath()) .query(oldUri.getRawQuery()) .fragment(oldUri.getRawFragment()) .build(); 

В принципе, получите каждый компонент URI и передайте его строителю (поскольку, похоже, не существует способа передать всю строку URI.