【发布时间】:2011-10-20 20:26:13
【问题描述】:
我已连接到 Web 服务并检索了 android 设备版本 2.2、API 8 中的值。但是当我将版本更改为 3.0 并将模拟器更改为 API 11 时。相同的代码显示错误。我已经更改了清单文件 sdk 版本和所有内容。
问题如下:
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
// androidHttpTransport.debug=true;
try{
androidHttpTransport.call(SOAP_ACTION, envelope);
// after this line it is going to the catch block
SoapObject resultString=(SoapObject)envelope.bodyIn;
// the result string is null when I used debugger and checked
System.out.println("the result string displayed :" +resultString);
String result=resultString.getProperty(0).toString();
} catch (Exception e) {
e.getMessage();
}
Logcat错误如下:
WARN/System.err(886): android.os.NetworkOnMainThreadException
WARN/System.err(886): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
WARN/System.err(886): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
WARN/System.err(886): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
WARN/System.err(886): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
WARN/System.err(886): at java.net.Socket.connect(Socket.java:901)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:304)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:292)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:274)
WARN/System.err(886): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:217)
WARN/System.err(886): at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:75)
WARN/System.err(886): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:136)
WARN/System.err(886): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:90)
WARN/System.err(886): at com.timetracker.app.Index.run(Index.java:214)
WARN/System.err(886): at com.timetracker.app.Index$1.onClick(Index.java:77)
WARN/System.err(886): at android.view.View.performClick(View.java:3100)
WARN/System.err(886): at android.view.View$PerformClick.run(View.java:11644)
WARN/System.err(886): at android.os.Handler.handleCallback(Handler.java:587)
WARN/System.err(886): at android.os.Handler.dispatchMessage(Handler.java:92)
WARN/System.err(886): at android.os.Looper.loop(Looper.java:126)
WARN/System.err(886): at android.app.ActivityThread.main(ActivityThread.java:3997)
WARN/System.err(886): at java.lang.reflect.Method.invokeNative(Native Method)
WARN/System.err(886): at java.lang.reflect.Method.invoke(Method.java:491)
WARN/System.err(886): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
WARN/System.err(886): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
WARN/System.err(886): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
添加异常的LogCat输出...
-
“显示错误”? 哪个错误?错误消息不只是令人害怕的事情。他们提供信息!
-
@Joachim Sauer 这是一条警告消息,我已经编辑了帖子,并且我也放了 logcat 消息。
-
如果你把这些东西或代码放在单独的线程中呢?
-
看起来你和这篇帖子有同样的问题stackoverflow.com/questions/4821845/… 3.0 版中几乎有新的政策,如果代码可能需要一段时间才能执行,它会尝试指导你使用异步方法。