- 私はksoap2を使用していません
- 他の方法ではハニカムが受け入れられず、この例外がスローされるため、呼び出しは非同期である必要がありますhttp://developer.android.com/reference/android/os/NetworkOnMainThreadException.html
- 私は .NET からコードを派生させていますが、Android のアーキテクチャは .NET とは大きく異なります。このため、コメントを残すときは、この事実に注意してください。
- コード ブロックでは、異なる Web メソッドを少なくとも 5 ~ 6 回呼び出します。
コード構造は次のようになります
public void X(){ int a = webMethodA(); . doSomethingWith a . . b = webMethodB(a); . . doSomethingWith b . . c = webMethod(b); . . . }
asyncTask と Handler を使用して作成しようとしましたが、結果の値を取得できましたが、X メソッドで結果の値を処理できないことが問題でした。Xメソッドブロックで戻り値を使用する必要があります
1 に答える
0
.net データセットの場合、Webservice と android で同じになる可能性がある、独自に設計したオブジェクト コレクションにデータを格納することをお勧めします。たとえば、同じWebサービスとAndroidでPersonクラスを定義して配信します。
.Net xml を使用する代わりに、.Net および Android で json を使用して、オブジェクトを json 文字列にシリアル化および逆シリアル化できます。
スレッドの場合、このコードはあなたの答えですか?
protected void btnCallWebservice_onClick() {
final Runnable r = new Runnable()
{
public void run()
{
threadWebservice();
}
};
performOnBackgroundThread(r);
}
public Thread performOnBackgroundThread(final Runnable runnable) {
final Thread t = new Thread() {
@Override
public void run() {
try {
runnable.run();
} finally {
}
}
};
t.start();
return t;
}
private void threadWebservice() {
try {
// call your webservice here
} catch (final Exception e) {
}
}
于 2011-10-10T09:10:27.863 に答える