我尝试在我的Android应用程序中使用JSON连接到我的Web服务,但是我收到此错误:

时间:2014-03-15 11:55:18

标签: android json web-services

  

E / test(20965):异常E / AndroidRuntime(20965):致命异常:   main E / AndroidRuntime(20965):java.lang.RuntimeException:无法执行   开始活动   ComponentInfo {sliit.mad.contact_list / sliit.mad.contact_list.TEST}:   android.os.NetworkOnMainThreadException E / AndroidRuntime(20965):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2062)   E / AndroidRuntime(20965):at   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2087)   E / AndroidRuntime(20965):at   android.app.ActivityThread.access $ 600(ActivityThread.java:133)   E / AndroidRuntime(20965):at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1198)   E / AndroidRuntime(20965):at   android.os.Handler.dispatchMessage(Handler.java:99)   E / AndroidRuntime(20965):在android.os.Looper.loop(Looper.java:137)   E / AndroidRuntime(20965):at   android.app.ActivityThread.main(ActivityThread.java:4793)   E / AndroidRuntime(20965):在   java.lang.reflect.Method.invokeNative(Native Method)   E / AndroidRuntime(20965):在   java.lang.reflect.Method.invoke(Method.java:511)   E / AndroidRuntime(20965):在   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:808)   E / AndroidRuntime(20965):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575)   E / AndroidRuntime(20965):at dalvik.system.NativeStart.main(Native   方法)E / AndroidRuntime(20965):引起:   android.os.NetworkOnMainThreadException E / AndroidRuntime(20965):at   android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)   E / AndroidRuntime(20965):在   libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)   E / AndroidRuntime(20965):在   libcore.io.IoBridge.connectErrno(IoBridge.java:127)   E / AndroidRuntime(20965):在   libcore.io.IoBridge.connect(IoBridge.java:112)   E / AndroidRuntime(20965):在   java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)   E / AndroidRuntime(20965):在   java.net.PlainSocketImpl.connect(PlainSocketImpl.java:460)   E / AndroidRuntime(20965):at java.net.Socket.connect(Socket.java:832)   E / AndroidRuntime(20965):在   org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)   E / AndroidRuntime(20965):在   org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)   E / AndroidRuntime(20965):在   org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)   E / AndroidRuntime(20965):在   org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)   E / AndroidRuntime(20965):在   org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)   E / AndroidRuntime(20965):在   org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)   E / AndroidRuntime(20965):在   org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)   E / AndroidRuntime(20965):在   org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)   E / AndroidRuntime(20965):在   sliit.mad.contact_list.JSONParser.makeHttpRequest(JSONParser.java:65)   E / AndroidRuntime(20965):在   sliit.mad.contact_list.TEST.onCreate(TEST.java:38)   E / AndroidRuntime(20965):在   android.app.Activity.performCreate(Activity.java:5008)   E / AndroidRuntime(20965):at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)   E / AndroidRuntime(20965):在   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2026)   E / AndroidRuntime(20965):... 11更多

1 个答案:

答案 0 :(得分:0)

也许你已经解决了这个问题。但是这个问题是由于您尝试在主UI线程中进行网络操作而导致的,这是不允许的。

异常日志可以解释自己。

  

E / AndroidRuntime(20965):引起:android.os.NetworkOnMainThreadException E / AndroidRuntime(20965):在android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)