你可以试试,把访问WEBSERVICE这部分代码,放到线程中调用;
有的时候android版本高了。访问INTENT都需要线程访问。

解决方案 »

  1.   

    我web service返回的是dataset,android中那么解析对吗?这个问题都整了好几天了,头都大了,大神 帮我看看吧。
      

  2.   


    WS端不应该返回dataset,那样android端好像处理有问题;
    你应该把WS端dataset中取出数据转换成JSON的数据格式或者XML数据格式,再返回到android端,这样解析相对简单的多。
      

  3.   


    WS端不应该返回dataset,那样android端好像处理有问题;
    你应该把WS端dataset中取出数据转换成JSON的数据格式或者XML数据格式,再返回到android端,这样解析相对简单的多。
    目前该问题已经解决了,解决办法贴出来,以供后来者借鉴:
    1.web service中返回值为string类型,其中参数为 (string Filename,byte[] data)其中byte[]是从android中传过来的字节数组,filename是传入的上传之后在服务器上的文件名字。
    2、在android端,String uploadBuffer = new String(Base64.encode(baos.toByteArray(), count));  //进行Base64编码       这一句代码去掉,加上buffer=baos.toByteArray();           
           connectWebServicetwo(fileName,buffer);
    3.在connectWebServicetwo函数中,try catch中改为 try 
            {   
                httpTranstation.call(soapAction, envelope);
                org.ksoap2.serialization.SoapPrimitive so= (org.ksoap2.serialization.SoapPrimitive) envelope.getResponse();  
              //  Object so=(Object)envelope.bodyIn;  
                ret=Boolean.valueOf( so.toString());
                return ret;
                
            
            }catch (Exception  e) {   
                e.printStackTrace();   
            }  
    红色字体是关键部分。这样修改之后 就能正常运行了。很感谢热心网友的回答。