2011-07-19 12 views
0

ksoapを使用してAndroidサービス経由でWebサービスを呼び出す際に問題があります。 minSdkVersion = "11"の場合は、以下のように例外が発生しています。 私がminSdkVersion属性の値を9以下に設定すると、Webサービスを呼び出すことができます。 ksoapとminsdkversionの問題は何ですか?私は何をしなければならないのですか?AndroidのksoapとminSdkVersion = "11"

ps:今、私はそれがタブレット(ハニカム)で実行されるアプリケーションを開発するつもりです。そして、私のターゲットAPIレベルはsettedされています

編集11.のように:(私が使用しているksoap2-アンドロイド・アセンブリ-2.4-ジャーとの依存関係

07-19 11:16:03.604: ERROR/AndroidRuntime(782): FATAL EXCEPTION: main 
07-19 11:16:03.604: ERROR/AndroidRuntime(782): android.os.NetworkOnMainThreadException 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at java.net.Socket.connect(Socket.java:901) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:304) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:292) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:274) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:217) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:46) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:68) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at com.quadro.main.Soap.AndSoap.CallService(AndSoap.java:40) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at com.quadro.main.Login.onClick(Login.java:27) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.view.View.performClick(View.java:3100) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.view.View$PerformClick.run(View.java:11644) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.os.Handler.handleCallback(Handler.java:587) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.os.Looper.loop(Looper.java:126) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at android.app.ActivityThread.main(ActivityThread.java:3997) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at java.lang.reflect.Method.invoke(Method.java:491) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
07-19 11:16:03.604: ERROR/AndroidRuntime(782):  at dalvik.system.NativeStart.main(Native Method) 

答えて

0

あなたはネットワークオペレーションを呼び出していますメインユーザインタフェーススレッド上のksoap経由のWebサービス)。 APIレベル11の下ではこれはもはや許されない/可能です。いずれにしても、ネットワーク操作が行われている間はUIをハングするので、実行することは非常に悪い習慣です。

AsyncTaskを使用し、そこにWebサービスを呼び出します。 Btw。これはksoapとはまったく無関係です。どのネットワーク操作でもこの問題が発生します。

さらに、kSOAP2-Android Iの最新バージョンにアップグレードする必要があります。 2.4.0は非常に古く、多くの問題があります。

関連する問題