Chcę url zakodować ciąg znaków, który ma nieobsługiwany protokół url (schemat). W trzecim wierszu zostanie zgłoszony wyjątek. Czy mimo to można utworzyć obsługę klas adresów URL "mmsh" lub jakikolwiek inny schemat "custom_name"?Jak rozszerzyć klasę adresów URL, aby obsługiwać inne protokoły w java (Android)?
EDYCJA: Nie chcę rejestrować niektórych protokołów dla mojej aplikacji. Po prostu chcę móc używać klasy URL bez wyjątku "nieobsługiwanego protokołu". Używam klasy URL tylko do parsowania i uporządkowania łańcucha adresu URL.
String string="mmsh://myserver.com/abc";
String decodedURL = URLDecoder.decode(string, "UTF-8");
URL url = new URL(decodedURL);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
w Javie trzeba rozciągać się od [URLStreamHandler] (http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLStreamHandler.html) przykład sprawdzić [tutaj] (http://stackoverflow.com/questions/861500/url-to-load-resources-from-the-classpath-in-java) –
Może to być pomocne przy próbie: http://stackoverflow.com/questions/ 11421048/android-ios-custom-uri-protocol-handling –
Dziękuję wszystkim, ale nie chcę rejestrować niektórych protokołów dla mojej aplikacji. Po prostu chcę móc używać klasy URL bez wyjątku "nieobsługiwanego protokołu". Używam klasy URL tylko do parsowania i uporządkowania łańcucha adresu URL. – frankish