我有一个字符串:
public://imageifarm/3600.jpg
如何提取
imageifarm/3600.jpg
使用android?
到目前为止我尝试过:
URL drupalQuestionNodeImageURI = new URL("public://imageifarm/3600.jpg");
Log.d("TAG", drupalQuestionNodeImageURI.getPath());
但它抛出了这个异常:
09-16 17:24:39.992: W/System.err(3763): java.net.MalformedURLException: Unknown protocol: public
我该如何解决这个问题?
我知道我可以使用正则表达式,但在这种情况下,这似乎违背了URL(URI)的目的。
答案 0 :(得分:2)
你应该使用android.net.Uri
Uri mUri = Uri.parse(public://imageifarm/3600.jpg);
String extract = mUri.getEncodedSchemeSpecificPart();
答案 1 :(得分:1)
使用java.net.URI,而不是java.net.URL。
答案 2 :(得分:1)
如果您想使用URL类(当您的图像位于Internet上时),您必须提供有效的URL(从有效的URL前缀开始,如http://,https://等)。在你的情况下你应该使用Uri类。 Uri对象可以指向本地文件系统中的文件。例如:
Uri.fromFile(new File("public://imageifarm/3600.jpg"));