Tôi muốn url mã hóa chuỗi có giao thức url không được hỗ trợ (lược đồ). Vì vậy, trên dòng thứ ba, một ngoại lệ sẽ được ném. Có cách nào để hỗ trợ lớp URL "mmsh" hoặc bất kỳ chương trình "custom_name" nào khác không?Làm cách nào để mở rộng lớp URL để hỗ trợ các giao thức khác trong java (android)?
EDIT: Tôi không muốn đăng ký một số giao thức cho đơn đăng ký của mình. Tôi chỉ muốn có thể sử dụng lớp URL mà không có ngoại lệ "giao thức không được hỗ trợ". Tôi đang sử dụng lớp URL chỉ để phân tích và dọn dẹp chuỗi 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());
Trong java bạn cần mở rộng từ [URLStreamHandler] (http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLStreamHandler.html) ví dụ kiểm tra [tại đây] (http://stackoverflow.com/questions/861500/url-to-load-resources-from-the-classpath-in-java) –
Đây có thể là một số trợ giúp thử: http://stackoverflow.com/questions/ 11421048/android-ios-custom-uri-protocol-handling –
Cảm ơn tất cả, nhưng tôi không muốn đăng ký một số giao thức cho ứng dụng của mình. Tôi chỉ muốn có thể sử dụng lớp URL mà không có ngoại lệ "giao thức không được hỗ trợ". Tôi đang sử dụng lớp URL chỉ để phân tích và dọn dẹp chuỗi url. – frankish