1
  1. 我不使用 ksoap2
  2. 调用必须是异步的,因为其他方式蜂窝不接受,它会抛出这个异常http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html
  3. 我从 .NET 派生代码,Android 的架构与 .NET 非常不同。因此,当您发表评论时,请注意这一事实。
  4. 在代码块中,我将调用不同的 webmethod 至少 5 或 6 次。
  5. 代码结构是这样的

    public void X(){
        int a = webMethodA();
        . doSomethingWith a
        .
        .
        b = webMethodB(a);
        .
        . doSomethingWith b
        .
        .
        c = webMethod(b);
        .
        . 
        .
    }
    
  6. 我试图让它与 asyncTask 和 Handler 一起使用,我可以获取结果值,但问题是我无法处理 X 方法上的结果值。我必须在 X 方法块中使用返回值

4

1 回答 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 回答