简体   繁体   English

将android.net.Uri转换为java.net.URL

[英]Convert android.net.Uri to java.net.URL

I used code from CODE and I want to use images from my drawables folder, however the code requires a URL. 我使用了来自CODE的代码,并且想使用我可绘制文件夹中的图像,但是该代码需要一个URL。

I tried to do: 我试着做:

 android.net.Uri aURI = Uri.parse("android.resource://com.kapsapetapp.kapsapet" + R.drawable.icon_bar);
    try {
        java.net.URI jURI = new java.net.URI(aURI.toString());
        URL url =  jURI.toURL();
        imgLoader.DisplayImage(url.getPath(), loader, iconBar_View);
    } catch (URISyntaxException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

However it didn't load the image. 但是,它没有加载图像。 What can fix this? 有什么可以解决这个问题?

Log 日志记录

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ java.net.MalformedURLException: Unknown protocol: android.resource 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:java.net.MalformedURLException:未知协议:android.resource

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at java.net.URL.(URL.java:182) 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于java.net.URL。(URL.java:182)

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at java.net.URL.(URL.java:125) 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于java.net.URL。(URL.java:125)

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at java.net.URI.toURL(URI.java:1378) 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于java.net.URI.toURL(URI.java:1378)

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at com.kapsapetapp.kapsapet.FullscreenActivity.onCreate(FullscreenActivity.java:142) 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于com.kapsapetapp.kapsapet.FullscreenActivity.onCreate(FullscreenActivity.java:142)

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.Activity.performCreate(Activity.java:5937) 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.Activity.performCreate(Activity.java:5937)

04-20 13:23:04.176 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 04-20 13:23:04.176 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.ActivityThread.access$800(ActivityThread.java:144) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.ActivityThread.access $ 800(ActivityThread.java:144)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.os.Handler.dispatchMessage(Handler.java:102)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.os.Looper.loop(Looper.java:135) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.os.Looper.loop(Looper.java:135)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5221) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于android.app.ActivityThread.main(ActivityThread.java:5221)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:at java.lang.reflect.Method.invoke(本机方法)

04-20 13:23:04.177 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372) 04-20 13:23:04.177 2458-2458 / com.kapsapetapp.kapsapet W / System.err:at java.lang.reflect.Method.invoke(Method.java:372)

04-20 13:23:04.178 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 04-20 13:23:04.178 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899)

04-20 13:23:04.178 2458-2458/com.kapsapetapp.kapsapet W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 04-20 13:23:04.178 2458-2458 / com.kapsapetapp.kapsapet W / System.err:位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

To show image from drawables no need to use java.net.URI . 要显示可绘制对象中的图像,无需使用java.net.URI do it as: 这样做:

Uri uriImage = Uri.parse("drawable://" + R.drawable.icon_bar);  
imgLoader.DisplayImage(String.valueOf(uriImage), loader, iconBar_View);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM