- 我不使用 ksoap2
- 调用必须是异步的,因为其他方式蜂窝不接受,它会抛出这个异常http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html
- 我从 .NET 派生代码,Android 的架构与 .NET 非常不同。因此,当您发表评论时,请注意这一事实。
- 在代码块中,我将调用不同的 webmethod 至少 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 中可以相同。例如在 webservice 和 Android 中定义相同的类 Person 并交付它。
您可以在 .Net 和 Android 中使用 json 将对象序列化和反序列化为 json 字符串,而不是使用 .Net xml。
对于线程,此代码是您的答案吗?
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 回答