Java 在web的ImageView中显示.jpg

Java 在web的ImageView中显示.jpg,java,android,image,url,Java,Android,Image,Url,我不确定我在这里做错了什么-fetch()似乎有些地方出了问题,因为当我注释该部分时,应用程序没有强制关闭(当然还有任何需要它的返回值) 如果你们都能帮上忙的话,我可以用第二双眼睛:)!这都是我的主要活动课。xml(R.layout.image)只有一个名为“imageView1”的ImageView Logcat信息-我猜这是StackTrace输出的地方-如果不是,请纠正我 01-02 11:59:09.248: D/gralloc_goldfish(971): Emulator witho

我不确定我在这里做错了什么-fetch()似乎有些地方出了问题,因为当我注释该部分时,应用程序没有强制关闭(当然还有任何需要它的返回值)

如果你们都能帮上忙的话,我可以用第二双眼睛:)!这都是我的主要活动课。xml(R.layout.image)只有一个名为“imageView1”的ImageView

Logcat信息-我猜这是StackTrace输出的地方-如果不是,请纠正我

01-02 11:59:09.248: D/gralloc_goldfish(971): Emulator without GPU emulation detected.
01-02 11:59:10.088: D/AndroidRuntime(971): Shutting down VM
01-02 11:59:10.088: W/dalvikvm(971): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
01-02 11:59:10.128: E/AndroidRuntime(971): FATAL EXCEPTION: main
01-02 11:59:10.128: E/AndroidRuntime(971): java.lang.IllegalStateException: Could not execute method of the activity
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.view.View$1.onClick(View.java:3044)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.view.View.performClick(View.java:3511)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.view.View$PerformClick.run(View.java:14105)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.os.Handler.handleCallback(Handler.java:605)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.os.Handler.dispatchMessage(Handler.java:92)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.os.Looper.loop(Looper.java:137)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.app.ActivityThread.main(ActivityThread.java:4424)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.lang.reflect.Method.invokeNative(Native Method)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.lang.reflect.Method.invoke(Method.java:511)
01-02 11:59:10.128: E/AndroidRuntime(971):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-02 11:59:10.128: E/AndroidRuntime(971):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-02 11:59:10.128: E/AndroidRuntime(971):  at dalvik.system.NativeStart.main(Native Method)
01-02 11:59:10.128: E/AndroidRuntime(971): Caused by: java.lang.reflect.InvocationTargetException
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.lang.reflect.Method.invokeNative(Native Method)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.lang.reflect.Method.invoke(Method.java:511)
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.view.View$1.onClick(View.java:3039)
01-02 11:59:10.128: E/AndroidRuntime(971):  ... 11 more
01-02 11:59:10.128: E/AndroidRuntime(971): Caused by: android.os.NetworkOnMainThreadException
01-02 11:59:10.128: E/AndroidRuntime(971):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.net.InetAddress.getAllByName(InetAddress.java:220)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
01-02 11:59:10.128: E/AndroidRuntime(971):  at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.net.URLConnection.getContent(URLConnection.java:194)
01-02 11:59:10.128: E/AndroidRuntime(971):  at java.net.URL.getContent(URL.java:447)
01-02 11:59:10.128: E/AndroidRuntime(971):  at com.tjbiddle.puppywood.PuppyWood.fetch(PuppyWood.java:58)
01-02 11:59:10.128: E/AndroidRuntime(971):  at com.tjbiddle.puppywood.PuppyWood.toastGallery(PuppyWood.java:44)
01-02 11:59:10.128: E/AndroidRuntime(971):  ... 14 more
01-02 11:59:09.248:D/gralloc_金鱼(971):未检测到GPU仿真的仿真器。
01-02 11:59:10.088:D/AndroidRuntime(971):关闭虚拟机
01-02 11:59:10.088:W/dalvikvm(971):threadid=1:线程以未捕获异常退出(组=0x409c01f8)
01-02 11:59:10.128:E/AndroidRuntime(971):致命异常:主
01-02 11:59:10.128:E/AndroidRuntime(971):java.lang.IllegalStateException:无法执行活动的方法
01-02 11:59:10.128:E/AndroidRuntime(971):在android.view.view$1.onClick(view.java:3044)
01-02 11:59:10.128:E/AndroidRuntime(971):在android.view.view.performClick(view.java:3511)
01-02 11:59:10.128:E/AndroidRuntime(971):在android.view.view$PerformClick.run(view.java:14105)
01-02 11:59:10.128:E/AndroidRuntime(971):位于android.os.Handler.handleCallback(Handler.java:605)
01-02 11:59:10.128:E/AndroidRuntime(971):位于android.os.Handler.dispatchMessage(Handler.java:92)
01-02 11:59:10.128:E/AndroidRuntime(971):在android.os.Looper.loop(Looper.java:137)上
01-02 11:59:10.128:E/AndroidRuntime(971):位于android.app.ActivityThread.main(ActivityThread.java:4424)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.lang.reflect.Method.invoke(Method.java:511)
01-02 11:59:10.128:E/AndroidRuntime(971):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-02 11:59:10.128:E/AndroidRuntime(971):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-02 11:59:10.128:E/AndroidRuntime(971):在dalvik.system.NativeStart.main(本机方法)
01-02 11:59:10.128:E/AndroidRuntime(971):由以下原因引起:java.lang.reflect.InvocationTargetException
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.lang.reflect.Method.invoke(Method.java:511)
01-02 11:59:10.128:E/AndroidRuntime(971):在android.view.view$1.onClick(view.java:3039)
01-02 11:59:10.128:E/AndroidRuntime(971):。。。还有11个
01-02 11:59:10.128:E/AndroidRuntime(971):由以下原因引起:android.os.NetworkOnMainThreadException
01-02 11:59:10.128:E/AndroidRuntime(971):在android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.net.InetAddress.lookupHostByName(InetAddress.java:391)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.net.InetAddress.getAllByName(InetAddress.java:220)
01-02 11:59:10.128:E/AndroidRuntime(971):在libcore.net.http.HttpConnection.(HttpConnection.java:71)
01-02 11:59:10.128:E/AndroidRuntime(971):在libcore.net.http.HttpConnection.(HttpConnection.java:50)
01-02 11:59:10.128:E/AndroidRuntime(971):在libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
01-02 11:59:10.128:E/AndroidRuntime(971):位于libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
01-02 11:59:10.128:E/AndroidRuntime(971):在libcore.net.http.HttpConnection.connect(HttpConnection.java:128)上
01-02 11:59:10.128:E/AndroidRuntime(971):位于libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
01-02 11:59:10.128:E/AndroidRuntime(971):位于libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
01-02 11:59:10.128:E/AndroidRuntime(971):位于libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
01-02 11:59:10.128:E/AndroidRuntime(971):位于libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
01-02 11:59:10.128:E/AndroidRuntime(971):在libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.net.URLConnection.getContent(URLConnection.java:194)
01-02 11:59:10.128:E/AndroidRuntime(971):位于java.net.URL.getContent(URL.java:447)
01-02 11:59:10.128:E/AndroidRuntime(971):位于com.tjbidle.puppywood.puppywood.fetch(puppywood.java:58)
01-02 11:59:10.128:E/AndroidRuntime(971):在com.tjbidle.puppywood.puppywood.toastGallery(puppywood.java:44)
01-02 11:59:10.128:E/AndroidRuntime(971):。。。14多

蜂巢或更高版本正在终止在UI线程中连接到网络IO的所有进程。这可以解释为什么您在不
fetch()
的情况下看不到问题。姜饼还有一种所谓的严格模式,它可以杀死这样的网络IO,或者至少在日志中标记它

如果不是这样,那么请发布堆栈跟踪,以便我们能够进一步提供帮助

你的stacktrace证实了我的猜测:

01-02 11:59:10.128: E/AndroidRuntime(971): Caused by: android.os.NetworkOnMainThreadException
01-02 11:59:10.128: E/AndroidRuntime(971):      at java.net.URL.getContent(URL.java:447)
[...]
01-02 11:59:10.128: E/AndroidRuntime(971):      at com.tjbiddle.puppywood.PuppyWood.fetch(PuppyWood.java:58)

所以基本上这意味着你需要在后台线程中进行网络IO。实现这一点的一种方法是使用
AsyncTask
,例如在中
onPreExecute
onPostExecute
在UI线程中运行,而
doInBackground
在其自己的线程中运行。

蜂巢或更高版本正在终止与UI线程中的网络IO相关的所有进程。这可以解释为什么您在不
fetch()
的情况下看不到问题。姜饼还有一种所谓的严格模式,它可以杀死这样的网络IO,或者至少在日志中标记它

如果不是这样,那么请发布堆栈跟踪,以便我们能够进一步提供帮助

你的stacktrace证实了我的猜测:

01-02 11:59:10.128: E/AndroidRuntime(971): Caused by: android.os.NetworkOnMainThreadException
01-02 11:59:10.128: E/AndroidRuntime(971):      at java.net.URL.getContent(URL.java:447)
[...]
01-02 11:59:10.128: E/AndroidRuntime(971):      at com.tjbiddle.puppywood.PuppyWood.fetch(PuppyWood.java:58)
所以基本上这意味着你需要在后台线程中进行网络IO。一条通往成功的路