Я збираюся додати тут одну пропозицію. Це можна зробити, щоб уникнути необхідності отримати будь-які зовнішні бібліотеки.
Спробуйте:
String urlStr = "http://abc.dev.domain.com/0007AC/ads/800x480 15sec h.264.mp4";
URL url = new URL(urlStr);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
url = uri.toURL();
Ви можете бачити, що в цій конкретній URL-адресі мені потрібно кодувати ці пробіли, щоб я міг використовувати його для запиту.
Це використовує кілька функцій, доступних для вас в класах Android. По-перше, клас URL може розбити URL-адресу на належні компоненти, тому немає необхідності виконувати роботу з пошуку / заміни рядків. По-друге, цей підхід використовує особливість класу URI, що належним чином виходить з компонентів, коли ви створюєте URI через компоненти, а не з одного рядка.
Краса такого підходу полягає в тому, що ви можете взяти будь-яку дійсну URL-адресу та працювати з цим, не потребуючи жодних спеціальних знань про це.