Voglio url codificare una stringa che ha un protocollo url non supportato (schema). Quindi, sulla 3a riga, verrà lanciata un'eccezione. Esiste comunque il supporto della classe URL "mmsh" o qualsiasi altro schema "custom_name"?Come estendere la classe URL per supportare altri protocolli in java (android)?
MODIFICA: non desidero registrare alcuni protocolli per la mia applicazione. Voglio solo essere in grado di utilizzare la classe URL senza l'eccezione "protocollo non supportato". Sto usando la classe URL solo per analizzare e riordinare la stringa dell'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());
in Java è necessario estendere da [URLStreamHandler] (http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLStreamHandler.html) controllare esempio [qui] (http://stackoverflow.com/questions/861500/url-to-load-resources-from-the-classpath-in-java) –
Potrebbe essere utile provare: http://stackoverflow.com/questions/ 11421048/android-ios-custom-uri-protocollo-handling –
Grazie a tutti, ma non voglio registrare alcuni protocolli per la mia applicazione. Voglio solo essere in grado di utilizzare la classe URL senza l'eccezione "protocollo non supportato". Sto usando la classe URL solo per analizzare e riordinare la stringa dell'URL. – frankish